Azure Resource Manager テンプレートの構造とスキーマを調べる
Azure Resource Manager テンプレートには、1 つ以上の Azure リソースについての JSON 形式による定義、および構成のカスタマイズを容易にするパラメーターと変数が含まれています。
最も単純な構造のテンプレートは、次の要素で構成されます。
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "",
"apiProfile": "",
"parameters": { },
"variables": { },
"functions": [ ],
"resources": [ ],
"outputs": { }
}
要素名 | 必須 | 説明 |
---|---|---|
$schema | はい | テンプレート言語のバージョンが記述されている JSON (JavaScript Object Notation) スキーマ ファイルの場所。 使用するバージョン番号は、デプロイのスコープと JSON エディターによって異なります。 Visual Studio Code を Azure Resource Manager ツール拡張機能と共に使用している場合は、リソース グループのデプロイの最新バージョンを使用します。 https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json# 他のエディター (Visual Studio を含む) では、このスキーマを処理できない場合があります。 そうしたエディターの場合、次を使用します。 https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json# サブスクリプション デプロイの場合、次を使用します。 https://schema.management.azure.com/schemas/2018-05-01/subscriptionDeploymentTemplate.json# 管理グループのデプロイの場合、次を使用します。 https://schema.management.azure.com/schemas/2019-08-01/managementGroupDeploymentTemplate.json# テナントのデプロイの場合、次を使用します。 https://schema.management.azure.com/schemas/2019-08-01/tenantDeploymentTemplate.json# |
contentVersion | はい | テンプレートのバージョン (1.0.0.0 など)。 この要素には任意の値を指定できます。 この値を使用して、テンプレートの重要な変更を文書化します。 テンプレートを使用してリソースをデプロイする場合は、この値を使用して、適切なテンプレートが使用されていることを確認できます。 |
apiProfile | いいえ | リソースの種類に対する API のバージョンのコレクションとして機能する API バージョン。 この値を使用すると、テンプレートのリソースごとに API バージョンを指定しなくて済みます。 API プロファイルのバージョンを指定し、リソースの種類の API バージョンを指定しないと、Resource Manager では、プロファイルでそのリソースの種類に対して定義されている API バージョンが使用されます。 API プロファイル プロパティは、Azure Stack やグローバルな Azure など、さまざまな環境にテンプレートをデプロイする場合に特に便利です。 API プロファイルのバージョンを使用し、両方の環境でサポートされているバージョンがテンプレートで自動的に使用されるようにします。 現在の API プロファイルのバージョンおよびリソース プロファイルで定義されている API バージョンの一覧については、「API Profile (API プロファイル)」をご覧ください。 詳しくは、「API プロファイルを使用してバージョンを追跡する」をご覧ください。 |
parameters | いいえ | リソースのデプロイをカスタマイズするのにはデプロイを実行すると、提供されている値です。 |
variables | いいえ | テンプレート言語式を簡略化するためにテンプレート内で JSON フラグメントとして使用される値。 |
functions | いいえ | テンプレート内で使用できるユーザー定義関数。 |
resources | はい | リソース グループまたはサブスクリプション内でデプロイまたは更新されるリソースの種類。 |
outputs | いいえ | デプロイ後に返される値。 |