アクションとは、デプロイメントが別のアイテムのデプロイ前後に実行するワークスペース アイテムの実行処理です。 アクションは、アイテム メタデータのデプロイだけでは実行できない処理をデプロイ計画で実現するためのものであり、たとえば、それを読み取るウェアハウス ビューがデプロイされる前にレイクハウス テーブルにデータを投入する、といったことができます。
アクションは デプロイメントグループに属し、グループはちょうど1つのアイテムを展開します。 グループの行動はそのアイテムの展開を中心に行われます。
Important
この機能は プレビュー段階です。
展開前および展開後のアクション
各展開グループは2つの行動セットを担っています。
- 事前展開アクション は、グループのアイテムが展開される前に実行されます。
- グループのアイテムが展開された後に展開後のアクションが実行されます。
事前展開アクションは、自分のグループが展開しているアイテムと同じものを実行することはできません。なぜなら、アクションが実行された時点でそのアイテムはまだデプロイされていないからです。
アクションとして使えるアイテムタイプ
以下のアイテムタイプは展開計画のアクションとして実行可能です:
| アイテムの種類 | ジョブの種類 |
|---|---|
| Notebook | Execute |
| データ パイプライン | Execute |
| データフロー Gen2 | Execute |
| コピー作業 | Execute |
| ユーザー データ関数 | Execute |
定義構造およびジョブプロパティについては、 デプロイメントプランの定義を参照してください。
各行動はそのアイテムを実行します。 項目は、アクションが何をするかと、受け付けるパラメーターを定義するものであり、プランそのものではありません。
他のアイテムタイプはアクションとして実行できません。 検討されているがサポートされていない項目タイプについては 、「考慮事項と制限事項」を参照してください。
デプロイメントグループ内の命令アクション
進行順序を制御するための連鎖反応です。 あるアクションを別のアクションに連結すると、デプロイメントはその順序で実行されるため、データを検証するアクションの前にデータをロードするアクションを注文できます。
前の画像では、レイクハウス グループのチェーンは Validate_Sales が Refresh_Sales より前に実行されます。 次の倉庫グループは、倉庫を展開する前に Notify を実行します。
次の規則が適用されます。
- 同じデプロイグループ内の他のアクションにアクションを連鎖させることができます。 プランファイルにおいて、チェーンは別のアクションの名前に依存するものです。
- アクション名は展開グループ内で一意でなければなりません。なぜならチェーンは名前でアクションを参照しているからです。
- チェーンは自身にループバックできません。 システムはプランを保存すると依存サイクルを拒否します。
- アクションは一度に一つずつ実行します。 互いにチェーンしていないアクションも、並列には実行されません。
デプロイ操作は最初の失敗で停止し、システムは変更をロールバックしません。 詳細は「操作が失敗した場合」をご覧ください。
アクションにパラメータを渡す
アクションはパラメータを持てる可能性があり、プランはそのアクションを実行するアイテムにそれを渡します。 各パラメータには名前と値があり、パラメータ名はアクション内で一意でなければなりません。
パラメータ値は、リテラルな値か、 変数ライブラリ内の変数への参照のいずれかです。 変数参照を使えば、単一のプランが環境ごとに異なる値を提供でき、1つのワークスペースだけで正しい値をハードコーディングするのではなく、
既知の変数型に解決されない変数参照は、計画を保存した際に拒否されます。
計画が値をアイテムに渡すため、アイテムが期待するパラメータを提供します。 どのパラメータが受け入れられるかについては、そのアイテムタイプのドキュメントを参照してください。
考慮事項と制限事項
一般的な展開計画の制限
- 1つのプランで1つの実行で複数のワークスペースに展開することはできません。
- 展開作業には1つの展開計画しか付与できません。
プランの添付に関する制限
- プラン添付は現在の作業にのみ適用されます。 将来のデプロイメントのデフォルトプランを設定したり、プラン自体をスケジュール設定することはできません。 展開ツールがオペレーションをスケジュールする場合、そのオペレーションは実行のたびにプランを添付しなければなりません。
- 単一アイテムのインポート操作に計画を付けることはできません。
-
fabric-cicdライブラリは展開計画をサポートしていません。
展開中の制限事項
- 独立した展開グループを並行して展開することはできません。
- 失敗した展開はロールバックされません。 すでに展開されたアイテムはターゲットワークスペースに残り、後のアイテムはデプロイされません。
計画行動の制限
- サポートされたアイテムおよびジョブタイプの組み合わせのみが、デプロイ前またはデプロイ後のアクションとして実行できます。 アクション として実行できるアイテムタイプをご覧ください。
- 同じDataflow Gen2の項目をプラン内の複数のアクションで使うことはできません。 リフレッシュジョブは一度に複数回しか実行できないため、2回目の発生を追加するとキャンバスが警告し、2回目の発生はデプロイ中にブロックされます。
- ユーザーデータ関数アクションから 512 KB を超えるデータを返すことはできません。 大きな出力は切り捨てられます。 それでも行動は成功します。
- アクションがデータを供給しているサービスの処理が追いつくまで、そのアクションを待たせることはできません。 アクション自体が終了したときにアクションが完了するため、生成されたデータがクエリ可能になる前に次のアクションが開始されます。
- デプロイメントプランを使って 、デプロイメント中に変数ライブラリ のアクティブ値セットを変更することはできません。 変数参照は、ターゲットワークスペースですでに有効になっている値セットを基準に解決されます。 新しく作成されたターゲットワークスペースでは、別の値セットを選択して保存するまで デフォルトが 有効です。 詳細は 変数ライブラリCI/CDを参照してください。
計画作成の制限
- 展開グループに複数のアイテムを追加することはできません。
- キャンバスは自動レイアウトのみをサポートしています。
展開計画のサイズ制限
これらの制限のいずれかを超えるプランは、保存された際に却下されます。 この制限は計画が保存されるたびに適用されるため、キャンバス、REST API、Gitからのプル、外部ツールのすべてに適用されます。
| 要素 | Limit |
|---|---|
| プランサイズ | 1MB |
| グループ名またはステップ名の長さ | 60 文字 |
| 計画内のグループ | 1,000 |
| 群への依存関係 | 1,000 |
| グループ内の事前展開アクション | 20 |
| グループ内の展開後のアクション | 20 |
| アクションへの依存関係 | 20 |
| アクションに関するパラメータ | 20 |