依存関係の管理

完了

特定のリソースについて、リソースをデプロイする前に、他のリソースが存在している必要があることがあります。

たとえば、SQL Database をデプロイする前に Microsoft SQL Server が存在している必要があります。

一方のリソースがもう一方のリソースに依存しているものとしてマークすることで、このリレーションシップを定義することができます。

依存関係を定義するには、dependsOn 要素を使用するか、または reference 関数を使用します。

Resource Manager により、リソース間の依存関係が評価され、依存する順序でデプロイされます。

リソースが互いに依存していない場合、Resource Manager によりそれらが並行してデプロイされます。

同じテンプレートでデプロイされるリソースの依存関係だけを定義する必要があります。

dependsOn 要素

テンプレート内で、dependsOn 要素を使用すると、1 つ以上の他のリソースに依存する 1 つのリソースを定義できます。

その値には、リソース名のコンマ区切りリストを指定できます。

Screenshot of Resource Manager template code with the dependsOn section highlighted.

循環依存関係

循環依存の関係は依存関係のシーケンス処理の問題であり、デプロイがループ内で周回してしまい、続行されなくなります。

その結果、Resource Manager によりリソースがデプロイされなくなります。

Resource Manager では、テンプレートの検証中に循環依存関係を識別します。

循環依存の関係が存在することを示すエラーが表示された場合は、テンプレートを評価して、不要で削除できる依存関係があるかどうかを確認します。

依存関係を削除しても問題が解決しない場合は、一部のデプロイ操作を、循環依存の関係があるリソースの後にデプロイされた子リソースに移動できます。