AZ-104Azure コンピューティング リソースのデプロイと管理MEDIUM単一選択

ある企業のDevOpsチームがBicepを使ってAzureリソースをデプロイしている。デプロイ先のリソースグループの名前・場所などのメタ情報をBicepファイル内でプログラム的に取得したい。BicepファイルのデフォルトのtargetScopeはリソースグループであり、リソースグループ自身のプロパティ(名前・リージョン)をパラメーターなしで参照する方法として正しいものはどれか。

  1. A. parameters('resourceGroupName') と parameters('location') を宣言してパラメーターとして受け取る必要がある
  2. B. resourceGroup().name と resourceGroup().location を使用して現在のリソースグループの名前とリージョンを取得する
  3. C. deployment().properties.resourceGroup.name で取得する
  4. D. subscription().resourceGroupName と subscription().location で取得する
解答と解説を見る

正解: B

BicepおよびARMテンプレートでは、resourceGroup()関数を呼び出すことで現在のデプロイ先リソースグループのメタ情報を取得できる。resourceGroup().nameはリソースグループ名、resourceGroup().locationはリソースグループのリージョン(例: japaneast)、resourceGroup().idはリソースグループの完全なリソースIDを返す。これによりlocationパラメーターをハードコードせずに「デプロイ先リソースグループと同じリージョン」を動的に指定することが一般的なパターン。選択肢Aはパラメーターで受け取ることも可能だが、「パラメーターなしで参照する方法」という問いの条件を満たさない。選択肢Dのsubscription()関数はサブスクリプションレベルの情報(サブスクリプションIDなど)を返すものであり、resourceGroupNameプロパティは存在しない。選択肢Cのdeployment()関数はデプロイ自体のメタ情報を返すが、resourceGroup名を直接取得するプロパティパスではない。

▸ この試験を本気で演習する(全150問・無料)