Bicep での既存のリソース

現在の Bicep ファイルにデプロイされていない既存のリソースを参照するには、existing キーワードでリソースを宣言します。 既存のリソースから値を取得する必要があるリソースをデプロイする場合は、existing キーワードを使います。 既存のリソースのプロパティにアクセスするには、そのシンボル名を使います。

existing キーワードを使って参照した場合、リソースは再デプロイされません。

同じスコープ

次の例では、現在のデプロイと同じリソース グループにある既存のストレージ アカウントを取得します。 既存のリソースの名前のみを指定することに注意してください。 プロパティは、シンボル名を介して使用できます。

resource stg 'Microsoft.Storage/storageAccounts@2022-09-01' existing = {
  name: 'examplestorage'
}

output blobEndpoint string = stg.properties.primaryEndpoints.blob

異なるスコープ

別のスコープ内のリソースにアクセスするには、scope プロパティを設定します。 次の例では、別のリソース グループにある既存のストレージ アカウントが参照されています。

resource stg 'Microsoft.Storage/storageAccounts@2022-09-01' existing = {
  name: 'examplestorage'
  scope: resourceGroup(exampleRG)
}

output blobEndpoint string = stg.properties.primaryEndpoints.blob

スコープの設定の詳細については、「Bicep のスコープ関数」を参照してください。

トラブルシューティング

存在しないリソースを参照しようとすると、NotFound エラーが発生し、デプロイは失敗します。 参照しようとしているリソースの名前とスコープを確認してください。

次のステップ

リソースをデプロイするための構文については、「リソースの Bicep を使った宣言」をご覧ください。