Bicep'te dağıtım betiklerini kullanma
deploymentScripts kaynağını kullanarak Bicep dağıtımlarında betik çalıştırabilir ve yürütme sonuçlarını gözden geçirebilirsiniz. Aşağıdaki gibi özel adımları gerçekleştirmek için bu betikleri kullanabilirsiniz:
- 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:
- Bunlar kolayca kodlanıp, kullanılabilir ve hata ayıklar. Sık kullandığınız geliştirme ortamlarında dağıtım betikleri geliştirebilirsiniz. Betikler Bicep dosyalarına veya dış betik 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ı bağımsız değişkenlerinin betike geçirilmesine izin vekleyebilirsiniz.
- Betik çıkışlarını belirtebilir ve bunları dağıtıma geri geçirebilirsiniz.
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 . Azure bölgelerindeki Azure Container Instances için kaynak kullanılabilirliği.
Uyarı
Dağıtım betiği hizmeti, betikleri çalıştırmak ve sorunlarını gidermek için iki ek kaynak gerektirir: depolama hesabı ve kapsayıcı örneği. Genellikle, dağıtım betiği tamamlandıktan sonra hizmet bu kaynakları temizler. Kaldırılana kadar bu kaynaklar için ücretlendirilirsiniz.
Fiyatlandırma bilgileri için bkz . Kapsayıcı Örnekleri fiyatlandırması ve Azure Depolama fiyatlandırması. Daha fazla bilgi edinmek için bkz . Dağıtım betiği kaynaklarını temizleme.
Eğitim kaynakları
Adım adım yönergeler aracılığıyla dağıtım betikleri hakkında bilgi edinmek isterseniz bkz . Dağıtım betiklerini kullanarak Bicep ve ARM şablonlarını genişletme.
En düşük izinleri yapılandırma
Dağıtım betiği API'si sürümü veya sonraki sürümleri 2020-10-01
için dağıtım betiği yürütme işlemine iki sorumlu 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 çalışması için gerekli olan temel kaynakları (depolama hesabı ve Azure kapsayıcı örneği) 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 ve
Microsoft.ContainerInstance/register/action
eklemeyiMicrosoft.Storage/register/action
unutmayın.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:
- özelliğinde
identity
kullanıcı tarafından atanan bir yönetilen kimlik belirtin. (Bkz. dağıtım betiği kaynağı söz dizimi.) Kullanıcı tarafından atanan bir yönetilen kimlik belirttiğinizde, betik hizmeti dağıtım betiğini çağırmadan önce çağırırConnect-AzAccount -Identity
. Yönetilen kimliğin betikteki işlemi tamamlamak için gerekli erişime sahip olması gerekir. Şu anda özellik içinidentity
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 komutunu ç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.
- özelliğinde
Şu anda, dağıtım betiği izinlerini yapılandırmak için uyarlanmış yerleşik rol yoktur.
Dağıtım betikleri oluşturma
Aşağıdaki örnekte dağıtım betiği kaynağına sahip basit bir Bicep dosyası gösterilmektedir. Betik bir dize parametresi alır ve 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 . Dağıtım betikleri oluşturma. Dağıtım betiği kaynağı için betikler oluşturmak için Azure kapsayıcı örneği veya Docker görüntüsü gibi ayrılmış bir betik geliştirme ortamı oluşturmanızı öneririz. 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 . Betik geliştirme ortamlarını yapılandırma.
Betiği bir inlineScript.bicep dosyasına kaydedin ve aşağıdaki betiği 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şimde bulunma amacıyla 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@2023-04-01' existing = {
name: storageAccountData.name
}
@description('The Storage Blob Data Reader Role definition from [Built In Roles](https://video2.skills-academy.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@2023-07-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 ayarının cleanupPreference
ayarlanması OnExpiration
gerekir. Ardından, depolama hesabı kaldırılmadan önce çıkışları gözden geçirmek için gereken süreye izin veren bir süre yapılandırırsınız retentionInterval
. Daha fazla bilgi için bkz . Dağıtım betiği kaynaklarını temizleme.
cleanupPreference
özelliğini önceki Bicep dosyasına ekleyin ve değerini olarak OnExpiration
ayarlayın. Varsayılan değer şudur: Always
. Ayrıca , (bir saat) veya daha kısa olarak ayarlayın rentalInterval
PT1H
.
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 da adlarında azscripts soneki olduğuna dikkat edin çünkü bu kaynaklar otomatik olarak oluşturulur. Destekleyici kaynakları tanımlamanın diğer yolu etiketleri kullanmaktır.
Listeden dağıtım betiği kaynağını seçin. Dağıtım betiği kaynağının Genel Bakış sayfasında kaynakla ilgili Sağlama durumu ve iki destekleyici kaynak (Depolama hesabı ve Kapsayıcı örneği) gibi önemli bilgiler görüntülenir. Günlükler alanında betikten gelen yazdırma metni gösterilir.
Betiğin çıkışlarını görüntülemek için Çıkışlar'ı seçin.
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.
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:
- az deployment-scripts delete: Dağıtım betiğini silin.
- az deployment-scripts list: Tüm dağıtım betiklerini listeleyin.
- az deployment-scripts show: Dağıtım betiğini alma.
- az deployment-scripts show-log: Dağıtım betiği günlüklerini göster.
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:
- Get-AzDeploymentScript: Dağıtım betiklerini alma veya listeleme.
- Get-AzDeploymentScriptLog: Dağıtım betiği yürütme günlüğünü alın.
- Remove-AzDeploymentScript: Dağıtım betiğini ve ilişkili kaynaklarını kaldırın.
- Save-AzDeploymentScriptLog: Dağıtım betiği yürütme günlüğünü diske kaydedin.
Çıkış Get-AzDeploymentScript
şu ö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 : 10.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ğı belirsiz 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 dahili 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 BlobStorage türünün mevcut depolama hesabı BlobBlobStorage 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 |
Destekleyici betik 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 |
Kapsayıcı örneği oluşturulurken Azure Container Instances hizmeti "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 . Hizmet uç noktasını kullanarak ö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. Daha fazla bilgi edinmek için şu makalelere bakın: