"noneステートメントの使用方法と使い方"

すべてのBicepパラメーター ファイルには、usingまたはusing none宣言を含める必要があります。

Bicep パラメーター ファイルでは、通常、using ステートメントを使用して、ファイルをBicep ファイルJSON Azure Resource Manager テンプレート (ARM テンプレート)Bicep モジュール、またはテンプレート スペックにリンクします。このリンケージにより、Bicep言語サーバーとコンパイラは、テンプレートの入力に基づいて正しい名前、型、および必要な値をチェックすることで、パラメーター ファイルを検証できます。

これに対し、 using none ステートメントは、コンパイル時にパラメーター ファイルが特定のテンプレートにリンクされていないことを明示的に示します。 このステートメントは、パラメーターが特定のテンプレートに対して検証されていないことを意味し、代わりに外部ツールで使用されたり、共有された再利用可能なパラメーター セットとして機能したりするなど、より一般的な使用を目的としています。

Bicep パラメーター ファイルは、 Bicep CLI バージョン 0.18.4 以降、 Azure CLI バージョン 2.47.0 以降、 および Azure PowerShell バージョン 9.7.1 以降でのみサポートされています。 using none機能は、Bicep CLI バージョン 0.31.0 以降でサポートされています。

JSON ARM テンプレート、Bicep モジュール、およびテンプレート スペックでこのステートメントを使用するには、 Bicep CLI バージョン 0.22.6 以降と Azure CLI バージョン 2.53.0 以降が必要です。

using ステートメント

using ステートメントの構文:

  • Bicep ファイルを使用するには:

    using '<path>/<file-name>.bicep'
    
  • JSON ARM テンプレートを使用するには:

    using '<path>/<file-name>.json'
    
  • パブリック モジュールを使用するには:

    using 'br/public:<file-path>:<tag>'
    

    次に例を示します。

    using 'br/public:avm/res/storage/storage-account:0.9.0' 
    
    param name = 'mystorage'
    
  • プライベート モジュールを使用するには:

    using 'br:<acr-name>.azurecr.io/bicep/<file-path>:<tag>'
    

    次に例を示します。

    using 'br:myacr.azurecr.io/bicep/modules/storage:v1'
    

    bicepconfig.json ファイルで定義された別名でプライベート モジュールを使用するには:

    using 'br/<alias>:<file>:<tag>'
    

    次に例を示します。

    using 'br/storageModule:storage:v1'
    
  • テンプレート スペックを使用するには:

    using 'ts:<subscription-id>/<resource-group-name>/<template-spec-name>:<tag>
    

    次に例を示します。

    using 'ts:00000000-0000-0000-0000-000000000000/myResourceGroup/storageSpec:1.0'
    

    bicepconfig.json ファイルで定義された別名でテンプレート スペックを使用するには:

    using 'ts/<alias>:<template-spec-name>:<tag>'
    

    次に例を示します。

    using 'ts/myStorage:storageSpec:1.0'
    

なしを使用するステートメント

Bicep パラメーター ファイル (.bicepparam) の using none ステートメントは、作成中またはコンパイル中にファイルが特定の Bicep テンプレートに関連付けられていないことを示します。 このステートメントでは、パラメーター ファイルを特定のテンプレートから切り離すことで、デプロイ全体でパラメーターを定義および使用する方法をより柔軟に行うことができます。

using none ステートメントの構文:

using none

このステートメントをBicepパラメーター ファイルの先頭に配置して、特定のテンプレートが参照されていないことを通知します。

Bicep の using none の主な利点は、パラメーター ファイルが一般化、共有、またはテンプレートと動的に統合されるシナリオにあります。 一般的なユース ケースは次のとおりです。

  • 一元化されたパラメーター リポジトリ

    組織は、多くの場合、複数のBicep展開で使用される標準のパラメーター値 (既定のリージョン、名前付け規則、グローバル タグなど) を維持します。 using noneを含むBicepパラメーター ファイルは、これらの共有値の中央ストアとして機能し、一貫性を向上させ、重複を最小限に抑えることができます。 これらのパラメーターは、デプロイ時にテンプレート固有の値とプログラムでマージできます。

    たとえば、共有 Bicep パラメーター ファイルで次の定義が行われる場合があります。

    using none
    
    param location = 'westus2'
    param environmentTag = 'production'
    param projectName = 'myApp'
    

    さらに、このパラメーター ファイルを拡張することもできます。 詳細については、「 パラメーター ファイルの拡張」を参照してください。

  • 動的生成とランタイム統合

    CI/CD パイプラインまたは自動化スクリプトでは、パラメーター ファイルをその場で作成したり、実行時にテンプレートに関連付けたりすることができます。 固定テンプレート参照を省略することで、 using none これらのファイルを柔軟に保ち、さまざまなデプロイ コンテキストに適応できます。

Bicep パラメーター ファイルでusing noneを指定した場合、コンパイラは特定のBicep テンプレートに対してパラメーターを検証しません。 つまり、リンクされたテンプレートがないため、コンパイル時の警告や、名前または型の不一致に関するエラーは発生しません。 ただし、この切り離しは、作成とコンパイル中にのみ適用されます。 デプロイ時に、Azure Resource Manager (ARM) には引き続きBicep テンプレートとパラメーター ファイルの両方が必要です。 ARM エンジンは、ターゲット テンプレートで定義されているパラメーターに対してファイル内のパラメーターを解決することで、デプロイ中に検証を実行します。

次のステップ