1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Azure Data Factory のパイプラインのデバッグ実行時 message が NULL になるエラーへの対応方法の 1 つ:ForEach ループを入れ子が原因

Posted at

概要

Azure Data Factory のパイプラインをデバッグ実行中に、message が NULL になるエラーが発生した場合の対応方法について共有します。デバッグ実行時に以下のようなエラーが発生し、原因が特定できず困っていました。このエラーが発生する要因はいくつか考えられますが、私の場合は ForEach アクティビティの中にさらに ForEach アクティビティを含めていたことが原因でした。

{
"code": "BadRequest",
"message": null,
"target": "pipeline//runid/de7c4ef7-533a-4b8b-bda2-cdace6015990",
"details": null,
"error": null
}

image.png

エラーについて

Azure Data Factory のドキュメントにて、 ForEach アクティビティに関する制限が下記のように記載されています。

別の ForEach ループ (または Until ループ) 内に ForEach ループを入れ子にすることはできません。

image.png

引用元:ForEach アクティビティ - Azure Data Factory & Azure Synapse | Microsoft Learn

Azure Data Factory の UI にて Foreach アクティビティ内で Foreach アクティビティを確認すると下記のようなメッセージが表示されて、基本的には Foreach アクティビティを追加できないようになっています。ただし、他のパイプラインの内容をコピー&ペーストを実施すると Foreach アクティビティを追加できてしまい、デバック実行時にエラーとなってしまいました。

入れ子になった ForEach アクティビティはサポートされていません。ForEach activity のスコープ内に ForEach アクティビティを含めることはできません。新しい処理パイプラインを開始するには、Execute Pipeline アクティビティを検討してください。

image.png

Operation on target ForEach1 failed: Container activity cannot include another container activitynull

image.png

エラーの再現方法

1. Foreach アクティビティ内に他のパイプラインの ForEach アクティビティをコピー&ペーストを実施

image.png

2. デバック実行しエラーとなることを確認

image.png

image.png

エラーへの対応方法

1. Foreach アクティビティ内のForeach アクティビティを他のパイプラインに移動

image.png

2. Foreach アクティビティ内に Execute Pipeline アクティビティを追加して移動先のパイプラインを呼び出すように設定

image.png

3. デバック実行し正常終了することを確認

image.png

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?