Kaynak Yöneticisi parametre dosyası oluştur

Komut dosyanıza satır içi değer olarak parametre geçirmek yerine, parametre değerlerini içeren bir JSON dosyası kullanabilirsiniz. Bu makalede, bir JSON şablonuyla birlikte kullandığınız bir parametre dosyasının nasıl oluşturulacağı gösterilmektedir.

Parametre dosyası

Bir parametre dosyası aşağıdaki biçimi kullanır:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "<first-parameter-name>": {
      "value": "<first-value>"
    },
    "<second-parameter-name>": {
      "value": "<second-value>"
    }
  }
}

Parametre dosyasının parametre değerlerini düz metin olarak depoladığını unutmayın. Bu yaklaşım, bir kaynak SKU 'SU gibi hassas olmayan değerler için geçerlidir. Düz metin parolalar gibi hassas değerler için çalışmaz. Hassas değer içeren bir parametre geçirmeniz gerekiyorsa, değeri bir anahtar kasasında saklayın. Ardından parametre dosyanızdaki anahtar kasasına başvurun. Hassas değer dağıtım sırasında güvenli bir şekilde alınır.

Aşağıdaki parametre dosyası, bir anahtar kasasında depolanan bir düz metin değeri ve hassas bir değer içerir.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "<first-parameter-name>": {
      "value": "<first-value>"
    },
    "<second-parameter-name>": {
      "reference": {
        "keyVault": {
          "id": "<resource-id-key-vault>"
        },
        "secretName": "<secret-name>"
      }
    }
  }
}

Anahtar kasasından değerleri kullanma hakkında daha fazla bilgi için bkz. dağıtım sırasında güvenli parametre değeri geçirmek için Azure Key Vault kullanma.

Parametre değerlerini tanımla

Parametre adlarının ve değerlerinin nasıl tanımlanacağını belirlemek için, JSON şablonunuzu açın ve bölümü gözden geçirin parameters . Aşağıdaki örnekte JSON şablonunun parametreleri gösterilmektedir.

"parameters": {
  "storagePrefix": {
    "type": "string",
    "maxLength": 11
  },
  "storageAccountType": {
    "type": "string",
    "defaultValue": "Standard_LRS",
    "allowedValues": [
    "Standard_LRS",
    "Standard_GRS",
    "Standard_ZRS",
    "Premium_LRS"
    ]
  }
}

Parametre dosyasında, dikkat edilecek ilk ayrıntı her parametrenin adıdır. Parametre dosyanızdaki parametre adları, şablonunuzda parametre adlarıyla eşleşmelidir.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "storagePrefix": {
    },
    "storageAccountType": {
    }
  }
}

Parametre türüne dikkat edin. Parametre dosyanızdaki parametre türleri şablonunuzda aynı türleri kullanmalıdır. Bu örnekte her iki parametre türü de dizelerdir.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "storagePrefix": {
      "value": ""
    },
    "storageAccountType": {
      "value": ""
    }
  }
}

Varsayılan değere sahip parametreler için şablonu kontrol edin. Bir parametre varsayılan değere sahipse, parametre dosyasında bir değer sağlayabilirsiniz, ancak bu gerekli değildir. Parametre dosyası değeri, şablonun varsayılan değerini geçersiz kılar.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "storagePrefix": {
      "value": "" // This value must be provided.
    },
    "storageAccountType": {
      "value": "" // This value is optional. Template will use default value if not provided.
    }
  }
}

Şablonun izin verilen değerlerini ve en fazla uzunluk gibi kısıtlamaları kontrol edin. Bu değerler, bir parametre için sağlayabilmeniz için değer aralığını belirtir. Bu örnekte, storagePrefix en fazla 11 karakter uzunluğunda olabilir ve storageAccountType izin verilen bir değer belirtmeniz gerekir.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "storagePrefix": {
      "value": "storage"
    },
    "storageAccountType": {
      "value": "Standard_ZRS"
    }
  }
}

Not

Parametre dosyanız yalnızca şablonda tanımlanmış parametreler için değerler içerebilir. Parametre dosyanız, şablonun parametreleriyle eşleşmeyen ek parametreler içeriyorsa, bir hata alırsınız.

Parametre türü biçimleri

Aşağıdaki örnek farklı parametre türlerinin biçimlerini gösterir: String, Integer, Boolean, Array ve Object.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "exampleString": {
      "value": "test string"
    },
    "exampleInt": {
      "value": 4
    },
    "exampleBool": {
      "value": true
    },
    "exampleArray": {
      "value": [
        "value 1",
        "value 2"
      ]
    },
    "exampleObject": {
      "value": {
        "property1": "value1",
        "property2": "value2"
      }
    }
  }
}

Parametre dosyası ile şablon dağıtma

Azure CLı 'dan, @ ve parametre dosya adını kullanarak yerel bir parametre dosyası geçirirsiniz. Örneğin, @storage.parameters.json.

az deployment group create \
  --name ExampleDeployment \
  --resource-group ExampleGroup \
  --template-file storage.json \
  --parameters @storage.parameters.json

Daha fazla bilgi için bkz. ARM şablonları ve Azure CLI ile kaynak dağıtma.

Azure PowerShell, parametresini kullanarak yerel bir parametre dosyası geçirirsiniz TemplateParameterFile .

New-AzResourceGroupDeployment -Name ExampleDeployment -ResourceGroupName ExampleResourceGroup `
  -TemplateFile C:\MyTemplates\storage.json `
  -TemplateParameterFile C:\MyTemplates\storage.parameters.json

Daha fazla bilgi için bkz. ARM şablonlarıyla kaynakları dağıtma ve Azure PowerShell.

Not

Portalda özel şablon dikey penceresinde bir parametre dosyası kullanmak mümkün değildir.

İpucu

Visual Studio ' de Azure kaynak grubu projesikullanıyorsanız, parametre dosyasının yapı eylemi içerik olarak ayarlanmış olduğundan emin olun.

Dosya adı

Parametre dosyası için genel adlandırma kuralı, parametreleri şablon adına dahil etmek içindir. Örneğin, şablonunuz azuredeploy.js olarak adlandırılmışsa, parametre dosyanız üzerindeazuredeploy.parameters.js olarak adlandırılır. Bu adlandırma kuralı, şablon ve parametreler arasındaki bağlantıyı görmenizi sağlar.

Farklı ortamlara dağıtmak için birden fazla parametre dosyası oluşturursunuz. Parametre dosyalarını adlandırma sırasında geliştirme ve üretim gibi kullanımlarını belirleyebilirsiniz. Örneğin, kaynak dağıtmak için üzerindeazuredeploy.parameters-dev.js ve azuredeploy.parameters-prod.js kullanın.

Parametre önceliği

Aynı dağıtım işleminde satır içi parametreleri ve yerel bir parametre dosyasını kullanabilirsiniz. Örneğin, yerel parametre dosyasında bazı değerler belirtebilir ve dağıtım sırasında satır içi diğer değerleri ekleyebilirsiniz. Hem yerel parametre dosyasında hem de satır içi bir parametre için değerler sağlarsanız, satır içi değer önceliklidir.

Dosyaya URI sağlayarak bir dış parametre dosyası kullanmak mümkündür. Dış parametre dosyası kullandığınızda, diğer değerleri satır içi veya yerel bir dosyadan geçiremezsiniz. Tüm satır içi parametreler yok sayılır. Dış dosyadaki tüm parametre değerlerini belirtin.

Parametre adı çakışmaları

Şablonunuz, PowerShell komutundaki parametrelerden biriyle aynı ada sahip bir parametre içeriyorsa, PowerShell şablondan parametreyi sonek ile gösterir FromTemplate . Örneğin, şablonunuzda adlı bir parametre ResourceGroupName ResourceGroupName New-AzResourceGroupDeployment cmdlet 'inin parametresiyle çakışıyor. İçin bir değer sağlamanız istenir ResourceGroupNameFromTemplate . Bu karışıklığın önüne geçmek için, dağıtım komutları için kullanılmayan parametre adlarını kullanın.

Sonraki adımlar