Aracılığıyla paylaş


Bicep'te dağıtım betiklerini kullanma

Bicep dağıtımlarında betik çalıştırmak ve yürütme sonuçlarını gözden geçirmek için deploymentScripts kaynağını kullanabilirsiniz. Bu betikler aşağıdaki özel adımları gerçekleştirmenize yardımcı olur:

  • Dizine kullanıcı ekleme.
  • Veri düzlemi işlemleri gerçekleştirme; örneğin, blobları veya bir veritabanının tohumlarını kopyalayın.
  • Lisans anahtarını arayın ve doğrulayın.
  • Kendinden imzalı bir sertifika oluşturun.
  • Microsoft Entra Id'de bir nesne oluşturun.
  • Özel bir sistemden IP adresi bloklarını arayın.

Dağıtım betiklerinin avantajları şunlardır:

  • Kodlamak, kullanmak ve hata ayıklamak için kolaydırlar. Sık kullandığınız geliştirme ortamlarında dağıtım betikleri geliştirebilirsiniz. Komut dosyaları, Bicep dosyalarına veya dış komut dosyası dosyalarına eklenebilir.
  • Betik dilini ve platformu belirtebilirsiniz. Şu anda Linux ortamındaki Azure PowerShell ve Azure CLI dağıtım betikleri desteklenmektedir.
  • Komut satırı argümanlarının betiğe iletilmesine izin verebilirsiniz.
  • Betik çıkışlarını belirtebilir ve bunları dağıtıma geri iletebilirsiniz.

Dağıtım betiği kaynağı yalnızca Azure Container Instances'ın kullanılabildiği bölgelerde kullanılabilir. Daha fazla bilgi için bkz. ACI ve Bölgelere göre kullanılabilir ürünleriçin kaynak kullanılabilirliği ve kota sınırları.

Dağıtım betiği hizmeti, betikleri çalıştırmak ve sorunlarını gidermek için iki destekleyici kaynak (depolama hesabı ve kapsayıcı örneği) oluşturur. Bu kaynakların adları, dağıtım betiğinin kaynak kimliğinin belirleyici karması kullanılarak oluşturulur ve sonek azscripts eklenir (örneğin, jgczqtxom5oreazscripts). Sonuç olarak, aynı dağıtım betiğinin yinelenen yürütmeleri aynı depolama hesabını yeniden kullanabilir.

Nadir durumlarda, "storage-account-name< adlı >depolama hesabı zaten alınmış" hatasıyla karşılaşabilirsiniz. Bu durum genellikle aynı dağıtım betiğinin önceki bir yürütmesi tarafından oluşturulan bir depolama hesabı başarıyla temizlenmediği zaman oluşur.

Uyarı

Genellikle, dağıtım betiği tamamlandıktan sonra hizmet bu destekleyici kaynakları temizler. Kaldırılana kadar bu kaynaklar için ücret alınır. Fiyatlandırma bilgileri için bkz. Azure Container Instances fiyatlandırması ve Azure Blob Depolama fiyatlandırması. Daha fazla bilgi edinmek için Dağıtım betiği kaynaklarını temizleme bölümüne bakın.

En düşük izinleri yapılandırma

Dağıtım betiği API'si sürümü 2020-10-01 veya daha sonraki sürümleri için, dağıtım betiği yürütme işlemine iki unsur dahil edilir:

  • Dağıtım sorumlusu: Bu sorumlu, Bicep dosyasını dağıtmak için kullanılır. Dağıtım betiği kaynağının bir depolama hesabı ve Azure kapsayıcı örneği çalıştırabilmesini sağlamak için gereken temel kaynakları oluşturur. En düşük ayrıcalık izinlerini yapılandırmak için dağıtım sorumlusuna aşağıdaki özelliklere sahip özel bir rol atayın:

    {
      "roleName": "deployment-script-minimum-privilege-for-deployment-principal",
      "description": "Configure least privilege for the deployment principal in deployment script",
      "type": "customRole",
      "IsCustom": true,
      "permissions": [
        {
          "actions": [
            "Microsoft.Storage/storageAccounts/*",
            "Microsoft.ContainerInstance/containerGroups/*",
            "Microsoft.Resources/deployments/*",
            "Microsoft.Resources/deploymentScripts/*"
          ],
        }
      ],
      "assignableScopes": [
        "[subscription().id]"
      ]
    }
    

    Azure Depolama ve Azure Container Instances kaynak sağlayıcıları kaydedilmediyse, Microsoft.Storage/register/action ve Microsoft.ContainerInstance/register/action ekleyin.

  • Dağıtım betiği sorumlusu: Bu sorumlu yalnızca dağıtım betiğinin Azure'da kimlik doğrulaması yapması ve Azure CLI veya PowerShell'i çağırması gerekiyorsa gereklidir. Dağıtım betiği sorumlusunu belirtmenin iki yolu vardır:

    • kullanıcı tarafından atanan bir yönetilen kimlik belirtin; identity özelliğinde dağıtım betiği kaynağının söz dizimine bakın. Kullanıcı tarafından atanan bir yönetilen kimlik belirttiğinizde, betik hizmeti, dağıtım betiğini çağırmadan önce Connect-AzAccount -Identity çağırır. Betikteki işlemi tamamlamak için yönetilen kimliğin gerekli erişime sahip olması gerekir. Şu anda özellik için identity yalnızca kullanıcı tarafından atanan yönetilen kimlik desteklenmektedir. Farklı bir kimlikle oturum açmak için bu listedeki ikinci yöntemi kullanın.
    • Hizmet sorumlusu kimlik bilgilerini güvenli ortam değişkenleri olarak geçirin ve ardından dağıtım betiğinde Connect-AzAccount veya az login çağırın.

    Yönetilen kimlik kullanıyorsanız, dağıtım sorumlusunun yönetilen kimlik kaynağına atanmış yerleşik Yönetilen Kimlik operatörü rolüne sahip olması gerekir.

Yerleşik bir rol şu anda dağıtım betiği izinlerini yapılandırmak için uygun değildir.

Dağıtım scriptleri oluşturma

Aşağıdaki örnek, bir dağıtım betiği kaynağı içeren basit bir Bicep dosyasını göstermektedir. Komut dosyası bir dize parametresi alır ve bunun sonucunda başka bir dize oluşturur.

param name string = 'John Dole'
param location string = resourceGroup().location

resource deploymentScript 'Microsoft.Resources/deploymentScripts@2023-08-01' = {
  name: 'inlineCLI'
  location: location
  kind: 'AzureCLI'
  properties: {
    azCliVersion: '2.52.0'
    arguments: name
    scriptContent: 'echo "The argument is ${name}."; jq -n -c --arg st "Hello ${name}" \'{"text": $st}\' > $AZ_SCRIPTS_OUTPUT_PATH'
    retentionInterval: 'PT1H'
  }
}

output text string = deploymentScript.properties.outputs.text

Dağıtım betiği kaynakları oluşturma hakkında daha fazla bilgi için bkz . Bicep'te dağıtım betiği geliştirme. Dağıtım betiği kaynağı için betik oluşturmak üzere bir Azure container instance veya Docker image gibi ayrı bir betik geliştirme ortamı oluşturmanız önerilir. Betikleri geliştirip kapsamlı bir şekilde test ettikten sonra, dağıtım betiği kaynağından betik dosyalarını tümleştirebilir veya çağırabilirsiniz. Daha fazla bilgi için bkz. Bicep dosyalarında dağıtım betikleri için geliştirme ortamını yapılandırma.

Betiği bir inlineScript.bicep dosyasına kaydedin ve ardından aşağıdaki betikleri kullanarak kaynağı dağıtın:

$resourceGroupName = Read-Host -Prompt "Enter the name of the resource group to be created"
$location = Read-Host -Prompt "Enter the location (i.e. centralus)"

New-AzResourceGroup -Name $resourceGroupName -Location $location

New-AzResourceGroupDeployment -ResourceGroupName $resourceGroupName -TemplateFile "inlineScript.bicep"

Write-Host "Press [ENTER] to continue ..."

Yönetilen kimlik kullanma

Aşağıdaki örnekte, dağıtım betiğinin içinden Azure ile etkileşime geçmek için yönetilen kimliğin nasıl kullanılacağı gösterilmektedir:

@description('The location of the resources.')
param location string = resourceGroup().location

@description('The storage account to list blobs from.')
param storageAccountData {
  name: string
  container: string
}

@description('The role id of Storage Blob Data Reader.')
var storageBlobDataReaderRoleId = '2a2b9908-6ea1-4ae2-8e65-a410df84e7d1'

@description('The storage account to read blobs from.')
resource storageAccount 'Microsoft.Storage/storageAccounts@2025-06-01' existing = {
  name: storageAccountData.name
}

@description('The Storage Blob Data Reader Role definition from [Built In Roles](https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles).')
resource storageBlobDataReaderRoleDef 'Microsoft.Authorization/roleDefinitions@2022-05-01-preview' existing = {
  scope: subscription()
  name: storageBlobDataReaderRoleId
}

@description('The user identity for the deployment script.')
resource scriptIdentity 'Microsoft.ManagedIdentity/userAssignedIdentities@2025-01-31-preview' = {
  name: 'script-identity'
  location: location
}

@description('Assign permission for the deployment scripts user identity access to the read blobs from the storage account.')
resource dataReaderRoleAssignment 'Microsoft.Authorization/roleAssignments@2022-04-01' = {
  scope: storageAccount
  name: guid(storageBlobDataReaderRoleDef.id, scriptIdentity.id, storageAccount.id)
  properties: {
    principalType: 'ServicePrincipal'
    principalId: scriptIdentity.properties.principalId
    roleDefinitionId: storageBlobDataReaderRoleDef.id
  }
}

@description('The deployment script.')
resource script 'Microsoft.Resources/deploymentScripts@2023-08-01' = {
  name: 'script'
  location: location
  kind: 'AzureCLI'
  identity: {
    type: 'UserAssigned'
    userAssignedIdentities: {
      '${scriptIdentity.id}': {}
    }
  }
  properties: {
    azCliVersion: '2.59.0'
    retentionInterval: 'PT1H'
    arguments: '${storageAccount.properties.primaryEndpoints.blob} ${storageAccountData.container}'
    scriptContent: '''
      #!/bin/bash
      set -e
      az storage blob list --auth-mode login --blob-endpoint $1 --container-name $2
    '''
  }
}

Dağıtım betiğini izleme ve sorunlarını giderme

Bir dağıtım betiği kaynağı dağıttığınızda, kullanıcı betiğini, yürütme sonuçlarını ve stdout dosyayı depolamak için bir depolama hesabına ihtiyacınız vardır. Kendi depolama hesabınızı belirtebilirsiniz. Daha fazla bilgi için bkz . Mevcut depolama hesabını kullanma.

Kendi depolama hesabınızı belirtmeye alternatif olarak cleanupPreference ayarını OnExpiration olarak belirlemek. Ardından, retentionInterval için depolama hesabı kaldırılmadan önce çıktıların gözden geçirilmesine yeterince zaman tanıyacak bir süre yapılandırırsınız. Daha fazla bilgi için Dağıtım betiği kaynaklarını temizleme konusuna bakın.

cleanupPreference özelliğini önceki Bicep dosyasına ekleyin ve değerini olarak OnExpirationayarlayın. Varsayılan değer şudur: Always. Ayrıca rentalInterval etiketini bir saat veya daha kısa bir süre PT1H olarak ayarlayın.

param name string = 'John Dole'
param location string = resourceGroup().location

resource deploymentScript 'Microsoft.Resources/deploymentScripts@2023-08-01' = {
  name: 'inlineCLI'
  location: location
  kind: 'AzureCLI'
  properties: {
    azCliVersion: '2.52.0'
    arguments: name
    scriptContent: 'echo "The argument is ${name}."; jq -n -c --arg st "Hello ${name}" \'{"text": $st}\' > $AZ_SCRIPTS_OUTPUT_PATH'
    cleanupPreference: 'OnExpiration'
    retentionInterval: 'PT1H'
  }
}

output text string = deploymentScript.properties.outputs.text

Bicep dosyasını başarıyla dağıttığınızda sonuçları denetlemek için Azure portalını, Azure CLI'yı, Azure PowerShell'i veya REST API'yi kullanın.

Azure portal

Dağıtım betiği kaynağını dağıttığınızda, kaynak Azure portalındaki kaynak grubunun altında listelenir. Genel Bakış sayfasında, dağıtım betiği kaynağına ek olarak iki destekleyici kaynak listelenir. Bekletme aralığı sona erdikten sonra destekleyici kaynaklar silinir.

Her iki destekleyici kaynağın adlarında, bu kaynaklar otomatik olarak oluşturulduğu için azscripts soneki vardır. Destekleyici kaynakları tanımlamanın diğer yolu etiketleri kullanmaktır.

Dağıtım betiği kaynak grubunun ekran görüntüsü.

Listeden dağıtım betiği kaynağını seçin. Dağıtım betiği kaynağının Genel Bakış sayfası, Sağlama durumu ve iki destekleyici kaynak, Depolama hesabı ve Kapsayıcı örneği gibi kaynakla ilgili önemli bilgileri görüntüler. Günlükler alanında betikten gelen yazdırma metni gösterilir.

Dağıtım betiği kaynağı hakkındaki bilgilerin ekran görüntüsü.

Betiğin çıkışlarını görüntülemek için Çıkışlar'ı seçin.

Dağıtım betiği çıkışlarının ekran görüntüsü.

Kaynak grubuna geri dönün, depolama hesabını seçin, Dosya paylaşımları'nı seçin ve ardından paylaşım adının sonuna azscripts eklenmiş dosya paylaşımını seçin. Listede iki klasör görünür: azscriptinput ve azscriptoutput. Çıkış klasörü bir executionresult.json dosyası ve betik çıkış dosyası içerir. executionresult.json dosyası betik yürütme hata iletisini içerir. Çıkış dosyası yalnızca betiği başarıyla çalıştırdığınızda oluşturulur.

Dağıtım betiğinin çıkış klasörünün içeriğinin ekran görüntüsü.

Giriş klasörü sistem betik dosyasını ve kullanıcı dağıtım betiği dosyasını içerir. Kullanıcı dağıtım betiği dosyasını düzeltilmiş bir betikle değiştirebilir ve Azure kapsayıcı örneğinden dağıtım betiğini yeniden çalıştırabilirsiniz.

Azure CLI

Abonelik veya kaynak grubu kapsamında dağıtım betiklerini yönetmek için Azure CLI'yi kullanabilirsiniz:

List komutunun çıktısı şu örneğe benzer:

{
  "arguments": "John Dole",
  "azCliVersion": "2.52.0",
  "cleanupPreference": "OnExpiration",
  "containerSettings": {
    "containerGroupName": null
  },
  "environmentVariables": null,
  "forceUpdateTag": null,
  "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/dsDemo/providers/Microsoft.Resources/deploymentScripts/inlineCLI",
  "identity": null,
  "kind": "AzureCLI",
  "location": "centralus",
  "name": "inlineCLI",
  "outputs": {
    "text": "Hello John Dole"
  },
  "primaryScriptUri": null,
  "provisioningState": "Succeeded",
  "resourceGroup": "dsDemo",
  "retentionInterval": "1:00:00",
  "scriptContent": "echo \"The argument is John Dole.\"; jq -n -c --arg st \"Hello John Dole\" '{\"text\": $st}' > $AZ_SCRIPTS_OUTPUT_PATH",
  "status": {
    "containerInstanceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/dsDemo/providers/Microsoft.ContainerInstance/containerGroups/jgczqtxom5oreazscripts",
    "endTime": "2023-12-11T20:20:12.149468+00:00",
    "error": null,
    "expirationTime": "2023-12-11T21:20:12.149468+00:00",
    "startTime": "2023-12-11T20:18:26.674492+00:00",
    "storageAccountId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/dsDemo/providers/Microsoft.Storage/storageAccounts/jgczqtxom5oreazscripts"
  },
  "storageAccountSettings": null,
  "supportingScriptUris": null,
  "systemData": {
    "createdAt": "2023-12-11T19:45:32.239063+00:00",
    "createdBy": "johndole@contoso.com",
    "createdByType": "User",
    "lastModifiedAt": "2023-12-11T20:18:26.183565+00:00",
    "lastModifiedBy": "johndole@contoso.com",
    "lastModifiedByType": "User"
  },
  "tags": null,
  "timeout": "1 day, 0:00:00",
  "type": "Microsoft.Resources/deploymentScripts"
}

Azure PowerShell

Abonelik veya kaynak grubu kapsamında dağıtım betiklerini yönetmek için Azure PowerShell'i kullanabilirsiniz:

Çıkış Get-AzDeploymentScript aşağıdaki örneğe benzer.

Name                : inlinePS
Id                  : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/dsDemo/providers/Microsoft.Resources/deploymentScripts/inlinePS
ResourceGroupName   : dsDemo
Location            : centralus
SubscriptionId      : aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e
ProvisioningState   : Succeeded
Identity            :
ScriptKind          : AzurePowerShell
AzPowerShellVersion : 14.0
StartTime           : 12/11/2023 9:45:50 PM
EndTime             : 12/11/2023 9:46:59 PM
ExpirationDate      : 12/11/2023 10:46:59 PM
CleanupPreference   : OnExpiration
StorageAccountId    : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/dsDemo/providers/Microsoft.Storage/storageAccounts/ee5o4rmoo6ilmazscripts
ContainerInstanceId : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/dsDemo/providers/Microsoft.ContainerInstance/containerGroups/ee5o4rmoo6ilmazscripts
Outputs             :
                      Key                 Value
                      ==================  ==================
                      text                Hello John Dole.

RetentionInterval   : PT1H
Timeout             : P1D

REST API

Kaynak grubu düzeyinde ve abonelik düzeyinde dağıtım betiği kaynağı hakkında bilgi almak için REST API'sini kullanabilirsiniz:

/subscriptions/<SubscriptionID>/resourcegroups/<ResourceGroupName>/providers/microsoft.resources/deploymentScripts/<DeploymentScriptResourceName>?api-version=2020-10-01
/subscriptions/<SubscriptionID>/providers/microsoft.resources/deploymentScripts?api-version=2020-10-01

Aşağıdaki örnekte ARMClient kullanılır. ARMClient desteklenen bir Microsoft aracı değildir.

armclient login
armclient get /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/myrg/providers/microsoft.resources/deploymentScripts/myDeployementScript?api-version=2020-10-01

Çıkış şu örneğe benzer:

{
  "kind": "AzureCLI",
  "identity": null,
  "location": "centralus",
  "systemData": {
    "createdAt": "2023-12-11T19:45:32.239063+00:00",
    "createdBy": "johndole@contoso.com",
    "createdByType": "User",
    "lastModifiedAt": "2023-12-11T20:18:26.183565+00:00",
    "lastModifiedBy": "johndole@contoso.com",
    "lastModifiedByType": "User"
  },
  "properties": {
    "provisioningState": "Succeeded",
    "azCliVersion": "2.52.0",
    "scriptContent": "echo \"The argument is John Dole.\"; jq -n -c --arg st \"Hello John Dole\" '{\"text\": $st}' > $AZ_SCRIPTS_OUTPUT_PATH",
    "arguments": "John Dole",
    "retentionInterval": "1:00:00",
    "timeout": "1 day, 0:00:00",
    "containerSettings": {
      "containerGroupName": null
    },
    "status": {
      "containerInstanceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/dsDemo/providers/Microsoft.ContainerInstance/containerGroups/jgczqtxom5oreazscripts",
      "endTime": "2023-12-11T20:20:12.149468+00:00",
      "error": null,
      "expirationTime": "2023-12-11T21:20:12.149468+00:00",
      "startTime": "2023-12-11T20:18:26.674492+00:00",
      "storageAccountId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/dsDemo/providers/Microsoft.Storage/storageAccounts/jgczqtxom5oreazscripts"
    },
    "outputs": {
      "text": "Hello John Dole"
    },
    "cleanupPreference": "OnSuccess"
  },
  "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/dsDemo/providers/Microsoft.Resources/deploymentScripts/inlineCLI",
  "type": "Microsoft.Resources/deploymentScripts",
  "name": "inlineCLI",
}

Aşağıdaki REST API günlüğü döndürür:

/subscriptions/<SubscriptionID>/resourcegroups/<ResourceGroupName>/providers/microsoft.resources/deploymentScripts/<DeploymentScriptResourceName>/logs?api-version=2020-10-01

Yalnızca dağıtım betiği kaynakları silinmeden önce çalışır.


Dağıtım betiği hata kodları

Aşağıdaki tabloda dağıtım betiği için hata kodları listelenmektedir:

Hata kodu Açıklama
DeploymentScriptInvalidOperation Bicep dosyasındaki dağıtım betiği kaynak tanımı geçersiz özellik adları içeriyor.
DeploymentScriptResourceConflict Dağıtım betiği kaynağı sonlanmamış bir durumdaysa ve yürütme bir saati aşmadıysa, bu kaynağı silemezsiniz. Veya aynı dağıtım betiğini aynı kaynak tanımlayıcısıyla (aynı abonelik, kaynak grubu adı ve kaynak adı) ancak aynı anda farklı betik gövdesi içeriğiyle yeniden çalıştıramazsınız.
DeploymentScriptOperationFailed Dağıtım betiği işlemi içsel olarak başarısız oldu. Microsoft desteğine başvurun.
DeploymentScriptStorageAccountAccessKeyNotSpecified Erişim anahtarı mevcut depolama hesabı için belirtilmedi.
DeploymentScriptContainerGroupContainsInvalidContainers Dağıtım betiği hizmetinin oluşturduğu bir kapsayıcı grubu dışarıdan değiştirildi ve geçersiz kapsayıcılar eklendi.
DeploymentScriptContainerGroupInNonterminalState İki veya daha fazla dağıtım betiği kaynağı aynı kaynak grubunda aynı Azure kapsayıcı örneği adını kullanır ve bunlardan biri henüz yürütmeyi tamamlamamıştır.
DeploymentScriptExistingStorageNotInSameSubscriptionAsDeploymentScript Dağıtımda sağlanan mevcut depolama, betiğin dağıtıldığı abonelikte bulunmaz.
DeploymentScriptStorageAccountInvalidKind veya BlobBlobStorage türünün mevcut depolama hesabı BlobStorage dosya paylaşımlarını desteklemez ve kullanılamaz.
DeploymentScriptStorageAccountInvalidKindAndSku Mevcut depolama hesabı dosya paylaşımlarını desteklemiyor. Desteklenen depolama hesabı türlerinin listesi için bkz . Mevcut depolama hesabını kullanma.
DeploymentScriptStorageAccountNotFound Depolama hesabı yok veya harici bir işlem veya araç sildi.
DeploymentScriptStorageAccountWithServiceEndpointEnabled Belirtilen depolama hesabının bir hizmet uç noktası var. Hizmet uç noktasına sahip depolama hesabı desteklenmez.
DeploymentScriptStorageAccountInvalidAccessKey Mevcut depolama hesabı için geçersiz bir erişim anahtarı belirtildi.
DeploymentScriptStorageAccountInvalidAccessKeyFormat Depolama hesabı anahtarının biçimi geçersiz. Bkz. Depolama hesabı erişim anahtarlarını yönetme.
DeploymentScriptExceededMaxAllowedTime Dağıtım betiği yürütme süresi, dağıtım betiği kaynak tanımında belirtilen zaman aşımı değerini aştı.
DeploymentScriptInvalidOutputs Dağıtım betiği çıkışı geçerli bir JSON nesnesi değil.
DeploymentScriptContainerInstancesServiceLoginFailure Kullanıcı tarafından atanan yönetilen kimlik, 10 denemeden sonra bir dakikalık aralıklarla oturum açamadı.
DeploymentScriptContainerGroupNotFound Dış bir araç veya işlem, dağıtım betiği hizmetinin oluşturduğu bir kapsayıcı grubunu sildi.
DeploymentScriptDownloadFailure Destek betiği indirilemedi. Bkz Destekleyici betikleri kullanma.
DeploymentScriptError Kullanıcı betiği hata verdi.
DeploymentScriptBootstrapScriptExecutionFailed Bootstrap betiği hata verdi. Bootstrap betiği, dağıtım betiğinin yürütülmesini düzenleyen sistem betiğidir.
DeploymentScriptExecutionFailed Dağıtım betiğinin yürütülmesi sırasında bilinmeyen bir hata oluştu.
DeploymentScriptContainerInstancesServiceUnavailable Azure Container Instances hizmeti, bir kapsayıcı örneği oluşturulduğunda "hizmet kullanılamıyor" hatası verdi.
DeploymentScriptContainerGroupInNonterminalState Kapsayıcı örneği oluşturulurken, başka bir dağıtım betiği aynı kapsamda (aynı abonelik, kaynak grubu adı ve kaynak adı) aynı kapsayıcı örneği adını kullanıyordu.
DeploymentScriptContainerGroupNameInvalid Belirtilen kapsayıcı örneği adı Azure Container Instances gereksinimlerini karşılamıyor. Bkz. Azure Container Instances'ta sık karşılaşılan sorunları giderme.

Özel sanal ağa erişme

Dağıtım betiklerini bazı ek yapılandırmalarla özel ağlarda çalıştırabilirsiniz. Daha fazla bilgi için bkz. Bicep dağıtım betiğinden özel bir sanal ağa erişme veya Bicep dağıtım betiğini özel uç nokta üzerinden özel olarak çalıştırma.

Sonraki adımlar

Bu makalede dağıtım betiklerini kullanmayı öğrendiniz. Bu makaledeki konuları keşfetmek için bkz: