Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede, kaynaklarınızı Azure'a dağıtmak için Azure Resource Manager şablonlarıyla (ARM şablonları) Azure Resource Manager REST API'sinin nasıl kullanılacağı açıklanmaktadır.
Şablonunuzu istek gövdesine ekleyebilir veya bir dosyaya bağlanabilirsiniz. Dosya kullanırken, yerel bir dosya veya URI aracılığıyla kullanılabilen bir dış dosya olabilir. Şablonunuz bir depolama hesabındayken, şablona erişimi kısıtlayabilir ve dağıtım sırasında paylaşılan erişim imzası (SAS) belirteci sağlayabilirsiniz.
Önkoşullar
Gerekli izinler
Bicep dosyası veya Azure Resource Manager (ARM) şablonu dağıtmak için, dağıttığınız kaynaklara yazma erişimine ve kaynak türündeki Microsoft.Resources/deployments tüm işlemlere erişmeniz gerekir. Örneğin, bir sanal makine dağıtmak için Microsoft.Compute/virtualMachines/write ve Microsoft.Resources/deployments/* izinlerine ihtiyacınız vardır. What-if işlemi aynı izin gereksinimlerine sahiptir.
Azure CLI sürüm 2.76.0 veya üzeri ve Azure PowerShell sürüm 13.4.0 veya üzeri , ARM'nin bu işlem sırasında Bicep şablonunu nasıl kapsamlı bir şekilde doğruladığını belirlemek için ValidationLevel anahtarını tanıtır. Daha fazla bilgi için bkz . Durum komutları
Rol ve izinlerin bir listesi için Azure yerleşik roller'ine bakın.
Dağıtım kapsamı
Dağıtımınızı bir kaynak grubuna, Azure aboneliğine, yönetim grubuna veya kiracıya hedefleyebilirsiniz. Dağıtımın kapsamına bağlı olarak farklı komutlar kullanırsınız.
Bir kaynak grubuna dağıtmak için Dağıtımlar - Oluştur'u kullanın. İstek şu şekilde gönderilir:
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}?api-version=2020-10-01Aboneliğe dağıtmak için Dağıtımlar - Abonelik Kapsamında Oluştur'u kullanın. İstek şu şekilde gönderilir:
PUT https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Resources/deployments/{deploymentName}?api-version=2020-10-01Abonelik düzeyi dağıtımları hakkında daha fazla bilgi için Abonelik düzeyinde kaynak grupları ve kaynaklar oluşturma bölümüne bakın.
Bir yönetim grubuna dağıtmak için Dağıtımlar - Yönetim Grubu Kapsamında Oluştur'u kullanın. İstek şu şekilde gönderilir:
PUT https://management.azure.com/providers/Microsoft.Management/managementGroups/{groupId}/providers/Microsoft.Resources/deployments/{deploymentName}?api-version=2020-10-01Yönetim grubu düzeyinde dağıtımlar hakkında daha fazla bilgi için Yönetim grubu düzeyinde kaynak oluşturma bölümüne bakın.
Bir kiracıya dağıtmak için Dağıtımlar - Kiracı Kapsamında Oluştur veya Güncelleştir'i kullanın. İstek şu şekilde gönderilir:
PUT https://management.azure.com/providers/Microsoft.Resources/deployments/{deploymentName}?api-version=2020-10-01Kiracı düzeyi dağıtımları hakkında daha fazla bilgi için bkz Kiracı düzeyinde kaynak oluşturma.
Bu makaledeki örneklerde kaynak grubu dağıtımları kullanılır.
REST API ile dağıtma
Kimlik doğrulama belirteçleri de dahil olmak üzere ortak parametreleri ve üst bilgileri ayarlayın.
Mevcut olmayan bir kaynak grubuna dağıtıyorsanız kaynak grubunu oluşturun. Abonelik kimliğinizi, yeni kaynak grubunun adını ve çözümünüz için ihtiyacınız olan konumu belirtin. Daha fazla bilgi için bkz. Kaynak grubu oluşturma.
PUT https://management.azure.com/subscriptions/<YourSubscriptionId>/resourcegroups/<YourResourceGroupName>?api-version=2020-06-01İstek gövdesi şöyle olur:
{ "location": "West US", "tags": { "tagname1": "tagvalue1" } }Şablonunuzu dağıtmadan önce, şablonun ortamınızda yapacağı değişikliklerin önizlemesini görebilirsiniz. Şablonun beklediğiniz değişiklikleri yaptığını doğrulamak için durum işlemini kullanın. What-if analizi, şablonu hatalara karşı da doğrular.
Şablon dağıtmak için abonelik kimliğinizi, kaynak grubunun adını, istek URI'sindeki dağıtımın adını belirtin.
PUT https://management.azure.com/subscriptions/<YourSubscriptionId>/resourcegroups/<YourResourceGroupName>/providers/Microsoft.Resources/deployments/<YourDeploymentName>?api-version=2020-10-01İstek gövdesinde, şablonunuzun ve parametre dosyanızın bağlantısını sağlayın. Parametre dosyası hakkında daha fazla bilgi için bkz. Resource Manager parametre dosyası oluşturma.
değerinin
modeArtımlı olarak ayarlandığına dikkat edin. Tam bir dağıtım çalıştırmak içinmodeolarak ayarlayın. Şablonunuzda olmayan kaynakları yanlışlıkla silebildiğiniz için tam modu kullanırken dikkatli olun.{ "properties": { "templateLink": { "uri": "http://mystorageaccount.blob.core.windows.net/templates/template.json", "contentVersion": "1.0.0.0" }, "parametersLink": { "uri": "http://mystorageaccount.blob.core.windows.net/templates/parameters.json", "contentVersion": "1.0.0.0" }, "mode": "Incremental" } }Yanıt içeriğini, istek içeriğini veya her ikisini birden günlüğe kaydetmek istiyorsanız, isteğe
debugSettingekleyin.{ "properties": { "templateLink": { "uri": "http://mystorageaccount.blob.core.windows.net/templates/template.json", "contentVersion": "1.0.0.0" }, "parametersLink": { "uri": "http://mystorageaccount.blob.core.windows.net/templates/parameters.json", "contentVersion": "1.0.0.0" }, "mode": "Incremental", "debugSetting": { "detailLevel": "requestContent, responseContent" } } }Depolama hesabınızı paylaşılan erişim imzası (SAS) belirtecini kullanacak şekilde ayarlayabilirsiniz. Daha fazla bilgi için bkz . Paylaşılan erişim imzasıyla temsilci erişimi.
Bir parametre (parola gibi) için hassas bir değer sağlamanız gerekiyorsa, bu değeri bir anahtar kasasına ekleyin. Önceki örnekte gösterildiği gibi dağıtım sırasında anahtar kasasını geri alın. 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.
Şablon ve parametreler için dosyalara bağlanmak yerine, bunları istek gövdesine ekleyebilirsiniz. Aşağıdaki örnek, parametre ve şablonun satır arasında olduğu istek gövdesini gösterir.
{ "properties": { "mode": "Incremental", "template": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { "storageAccountType": { "type": "string", "defaultValue": "Standard_LRS", "allowedValues": [ "Standard_LRS", "Standard_GRS", "Standard_ZRS", "Premium_LRS" ], "metadata": { "description": "Storage Account type" } }, "location": { "type": "string", "defaultValue": "[resourceGroup().location]", "metadata": { "description": "Location for all resources." } } }, "variables": { "storageAccountName": "[format('{0}standardsa', uniquestring(resourceGroup().id))]" }, "resources": [ { "type": "Microsoft.Storage/storageAccounts", "apiVersion": "2025-06-01", "name": "[variables('storageAccountName')]", "location": "[parameters('location')]", "sku": { "name": "[parameters('storageAccountType')]" }, "kind": "StorageV2", "properties": {} } ], "outputs": { "storageAccountName": { "type": "string", "value": "[variables('storageAccountName')]" } } }, "parameters": { "location": { "value": "eastus2" } } } }Şablon dağıtımının durumunu almak için Dağıtımlar - Al'ı kullanın.
GET https://management.azure.com/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}?api-version=2020-10-01
ARMClient ile dağıtım yapmak
ARMClient, Azure Resource Manager API'sini çağırmak için basit bir komut satırı aracıdır. Aracı yüklemek için, bkz ARMClient.
Aboneliklerinizi listelemek için:
armclient GET /subscriptions?api-version=2021-04-01
Kaynak gruplarınızı listelemek için:
armclient GET /subscriptions/<subscription-id>/resourceGroups?api-version=2021-04-01
subscription-id değerini Azure abonelik kimliğiniz ile değiştirin<.>
Orta ABD bölgesinde bir kaynak grubu oluşturmak için:
armclient PUT /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>?api-version=2021-04-01 "{location: 'central us', properties: {}}"
Alternatif olarak, gövdesini CreateRg.jsonadlı bir JSON dosyasına yerleştirebilirsiniz:
{
"location": "Central US",
"properties": { }
}
armclient PUT /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>?api-version=2021-04-01 '@CreateRg.json'
Daha fazla bilgi için bkz . ARMClient: Azure API için komut satırı aracı.
Dağıtım adı
Dağıtımınıza ExampleDeployment gibi bir ad verebilirsiniz.
Bir dağıtımı her çalıştırdığınızda, kaynak grubunun dağıtım geçmişine dağıtım adıyla bir giriş eklenir. Başka bir dağıtım çalıştırır ve aynı adı verirseniz, önceki girdi geçerli dağıtımla değiştirilir. Dağıtım geçmişinde benzersiz girdiler tutmak istiyorsanız, her dağıtıma benzersiz bir ad verin.
Benzersiz bir ad oluşturmak için rastgele bir sayı atayabilirsiniz. Veya bir tarih değeri ekleyin.
Aynı kaynak grubuna aynı dağıtım adıyla eşzamanlı dağıtımlar çalıştırırsanız, yalnızca son dağıtım tamamlanır. Aynı adı taşıyan henüz tamamlanmamış dağıtımlar en son yapılan dağıtımla değiştirilir. Örneğin, adlı newStoragebir depolama hesabı dağıtan adlı storage1 bir dağıtım çalıştırırsanız ve aynı zamanda adlı newStoragebir depolama hesabı dağıtan adlı storage2 başka bir dağıtımı çalıştırırsanız, yalnızca bir depolama hesabı dağıtırsınız. Elde edilen depolama hesabı, storage2 olarak adlandırılır.
Ancak adlı newStorage bir depolama hesabı storage1dağıtan adlı bir dağıtım çalıştırırsanız ve tamamlandıktan hemen sonra adlı newStoragebir depolama hesabı dağıtan adlı storage2 başka bir dağıtım çalıştırırsanız iki depolama hesabınız olur. Biri olarak adlandırılır storage1, diğeri ise olarak adlandırılır storage2. Ancak dağıtım geçmişinde yalnızca bir kaydınız vardır.
Her dağıtım için benzersiz bir ad belirttiğinizde, bunları çakışma olmadan eşzamanlı olarak çalıştırabilirsiniz. adlı newStorage1 bir depolama hesabı dağıtan ve aynı zamanda adlı storage1bir depolama hesabı dağıtan başka bir dağıtım newStorage2 çalıştırırsanız, dağıtım geçmişinde iki depolama hesabınız storage2ve iki girdiniz vardır.
Eşzamanlı dağıtımlarla çakışmaları önlemek ve dağıtım geçmişinde benzersiz girdiler sağlamak için her dağıtıma benzersiz bir ad verin.
Sonraki Adımlar
- Hata aldığınızda, başarılı bir dağıtıma geri almak için Hata durumunda başarılı dağıtıma geri alma bölümüne bakın.
- Kaynak grubunda var olan ancak şablonda tanımlanmayan kaynakların nasıl işleneceğini belirtmek için bkz . Azure Resource Manager dağıtım modları.
- Zaman uyumsuz REST işlemlerini işleme hakkında bilgi edinmek için bkz. Zaman uyumsuz Azure işlemlerini izleme.
- Şablonlar hakkında daha fazla bilgi edinmek için bkz. ARM şablonlarının yapısını ve söz dizimini anlama.