依存関係の管理
特定のリソースについて、リソースをデプロイする前に、他のリソースが存在している必要があることがあります。
たとえば、SQL Database をデプロイする前に Microsoft SQL Server が存在している必要があります。
一方のリソースがもう一方のリソースに依存しているものとしてマークすることで、このリレーションシップを定義することができます。
依存関係を定義するには、dependsOn 要素を使用するか、または reference 関数を使用します。
Resource Manager により、リソース間の依存関係が評価され、依存する順序でデプロイされます。
リソースが互いに依存していない場合、Resource Manager によりそれらが並行してデプロイされます。
同じテンプレートでデプロイされるリソースの依存関係だけを定義する必要があります。
dependsOn 要素
テンプレート内で、dependsOn 要素を使用すると、1 つ以上の他のリソースに依存する 1 つのリソースを定義できます。
その値には、リソース名のコンマ区切りリストを指定できます。
循環依存関係
循環依存の関係は依存関係のシーケンス処理の問題であり、デプロイがループ内で周回してしまい、続行されなくなります。
その結果、Resource Manager によりリソースがデプロイされなくなります。
Resource Manager では、テンプレートの検証中に循環依存関係を識別します。
循環依存の関係が存在することを示すエラーが表示された場合は、テンプレートを評価して、不要で削除できる依存関係があるかどうかを確認します。
依存関係を削除しても問題が解決しない場合は、一部のデプロイ操作を、循環依存の関係があるリソースの後にデプロイされた子リソースに移動できます。