Używanie skryptów wdrażania w środowisku Bicep
Za pomocą zasobu deploymentScripts można uruchamiać skrypty we wdrożeniach Bicep i przeglądać wyniki wykonywania. Możesz użyć tych skryptów, aby wykonać niestandardowe kroki, takie jak:
- Dodaj użytkowników do katalogu.
- Wykonywanie operacji płaszczyzny danych; na przykład kopiowanie obiektów blob lub rozmieszczanie bazy danych.
- Wyszukaj i zweryfikuj klucz licencji.
- Utwórz certyfikat z podpisem własnym.
- Utwórz obiekt w identyfikatorze Entra firmy Microsoft.
- Wyszukaj bloki adresów IP z systemu niestandardowego.
Zalety skryptów wdrażania obejmują:
- Są łatwe do kodowania, używania i debugowania. Skrypty wdrażania można opracowywać w ulubionych środowiskach deweloperskich. Skrypty można osadzać w plikach Bicep lub w zewnętrznych plikach skryptów.
- Możesz określić język skryptu i platformę. Obecnie obsługiwane są skrypty wdrażania programu Azure PowerShell i interfejsu wiersza polecenia platformy Azure w środowisku systemu Linux.
- Możesz zezwolić na przekazywanie argumentów wiersza polecenia do skryptu.
- Możesz określić dane wyjściowe skryptu i przekazać je z powrotem do wdrożenia.
Zasób skryptu wdrażania jest dostępny tylko w regionach, w których jest dostępna usługa Azure Container Instances. Aby uzyskać więcej informacji, zobacz Dostępność zasobów dla usługi Azure Container Instances w regionach świadczenia usługi Azure.
Ostrzeżenie
Usługa skryptu wdrażania wymaga dwóch dodatkowych zasobów do uruchamiania i rozwiązywania problemów ze skryptami: konta magazynu i wystąpienia kontenera. Ogólnie rzecz biorąc, usługa czyści te zasoby po zakończeniu działania skryptu wdrażania. Opłaty za te zasoby są naliczane do momentu ich usunięcia.
Aby uzyskać informacje o cenach, zobacz Cennik usługi Container Instances i Cennik usługi Azure Storage. Aby dowiedzieć się więcej, zobacz Oczyszczanie zasobów skryptu wdrażania.
Zasoby szkoleniowe
Jeśli wolisz dowiedzieć się więcej o skryptach wdrażania za pomocą szczegółowych wskazówek, zobacz Rozszerzanie szablonów Bicep i ARM przy użyciu skryptów wdrażania.
Konfigurowanie minimalnych uprawnień
W przypadku wersji 2020-10-01
interfejsu API skryptu wdrażania lub nowszej dwa podmioty zabezpieczeń są zaangażowane w wykonywanie skryptu wdrażania:
Jednostka wdrożenia: ten podmiot zabezpieczeń służy do wdrażania pliku Bicep. Tworzy podstawowe zasoby wymagane do uruchomienia zasobu skryptu wdrożenia — konto magazynu i wystąpienie kontenera platformy Azure. Aby skonfigurować uprawnienia z najmniejszymi uprawnieniami, przypisz rolę niestandardową z następującymi właściwościami do jednostki wdrożenia:
{ "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]" ] }
Jeśli dostawcy zasobów usług Azure Storage i Azure Container Instances nie zostały zarejestrowane, pamiętaj, aby dodać
Microsoft.Storage/register/action
usługę iMicrosoft.ContainerInstance/register/action
.Jednostka skryptu wdrażania: ten podmiot zabezpieczeń jest wymagany tylko wtedy, gdy skrypt wdrożenia musi uwierzytelnić się na platformie Azure i wywołać interfejs wiersza polecenia platformy Azure lub program PowerShell. Istnieją dwa sposoby określania jednostki skryptu wdrożenia:
- Określ tożsamość zarządzaną przypisaną przez użytkownika we
identity
właściwości . (Zobacz składnię zasobu skryptu wdrażania). Po określeniu tożsamości zarządzanej przypisanej przez użytkownika usługa skryptu wywołuje przedConnect-AzAccount -Identity
wywołaniem skryptu wdrożenia. Tożsamość zarządzana musi mieć wymagany dostęp, aby ukończyć operację w skrycie. Obecnie dla właściwości jest obsługiwanaidentity
tylko tożsamość zarządzana przypisana przez użytkownika. Aby zalogować się przy użyciu innej tożsamości, użyj drugiej metody na tej liście. - Przekaż poświadczenia jednostki usługi jako bezpieczne zmienne środowiskowe, a następnie wywołaj polecenie Connect-AzAccount lub az login w skrypcie wdrożenia.
Jeśli używasz tożsamości zarządzanej, jednostka wdrożenia wymaga wbudowanej roli Operatora tożsamości zarządzanej przypisanej do zasobu tożsamości zarządzanej.
- Określ tożsamość zarządzaną przypisaną przez użytkownika we
Obecnie żadna wbudowana rola nie jest dostosowana do konfigurowania uprawnień skryptu wdrażania.
Tworzenie skryptów wdrażania
W poniższym przykładzie pokazano prosty plik Bicep z zasobem skryptu wdrożenia. Skrypt przyjmuje jeden parametr ciągu i tworzy inny ciąg.
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
Aby uzyskać więcej informacji na temat tworzenia zasobów skryptu wdrażania, zobacz Tworzenie skryptów wdrażania. Aby utworzyć skrypty dla zasobu skryptu wdrażania, zalecamy ustanowienie dedykowanego środowiska deweloperskiego skryptu, takiego jak wystąpienie kontenera platformy Azure lub obraz platformy Docker. Po opracowaniu i dokładnym przetestowaniu skryptów można zintegrować lub wywołać pliki skryptów z zasobu skryptu wdrożenia. Aby uzyskać więcej informacji, zobacz Konfigurowanie środowisk deweloperskich skryptów.
Zapisz skrypt w pliku inlineScript.bicep , a następnie wdróż zasób przy użyciu następującego skryptu:
$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 ..."
Korzystanie z tożsamości zarządzanej
W poniższym przykładzie pokazano, jak używać tożsamości zarządzanej do interakcji z platformą Azure z poziomu skryptu wdrażania.
@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://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@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
'''
}
}
Monitorowanie skryptu wdrażania i rozwiązywanie problemów z tym
Podczas wdrażania zasobu skryptu wdrażania potrzebne jest konto magazynu do przechowywania skryptu użytkownika, wyników wykonywania i stdout
pliku. Możesz określić własne konto magazynu. Aby uzyskać więcej informacji, zobacz Używanie istniejącego konta magazynu.
Alternatywą do określenia własnego konta magazynu jest ustawienie cleanupPreference
wartości OnExpiration
. Następnie skonfigurujesz retentionInterval
czas trwania, który pozwala na przeglądanie danych wyjściowych przed usunięciem konta magazynu. Aby uzyskać więcej informacji, zobacz Oczyszczanie zasobów skryptu wdrażania.
cleanupPreference
Dodaj właściwość do poprzedniego pliku Bicep i ustaw wartość na OnExpiration
. Domyślna wartość to Always
. Ponadto ustaw wartość rentalInterval
PT1H
(jedną godzinę) lub krótszą.
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
Po pomyślnym wdrożeniu pliku Bicep użyj witryny Azure Portal, interfejsu wiersza polecenia platformy Azure, programu Azure PowerShell lub interfejsu API REST, aby sprawdzić wyniki.
Azure Portal
Po wdrożeniu zasobu skryptu wdrażania zasób jest wyświetlany w grupie zasobów w witrynie Azure Portal. Strona Przegląd zawiera listę dwóch zasobów pomocniczych oprócz zasobu skryptu wdrażania. Zasoby pomocnicze zostaną usunięte po wygaśnięciu interwału przechowywania.
Zwróć uwagę, że oba zasoby pomocnicze mają sufiks azscripts w nazwach, ponieważ te zasoby są tworzone automatycznie. Innym sposobem identyfikowania zasobów pomocniczych jest użycie tagów.
Wybierz zasób skryptu wdrażania z listy. Na stronie Przegląd zasobu skryptu wdrażania są wyświetlane ważne informacje o zasobie, takie jak stan aprowizacji i dwa zasoby pomocnicze (konto magazynu i wystąpienie kontenera). Obszar Dzienniki zawiera tekst wydruku ze skryptu.
Wybierz pozycję Dane wyjściowe, aby wyświetlić dane wyjściowe skryptu.
Wróć do grupy zasobów, wybierz konto magazynu, wybierz pozycję Udziały plików, a następnie wybierz udział plików za pomocą polecenia azscripts dołączonego do nazwy udziału. Na liście są wyświetlane dwa foldery: azscriptinput i azscriptoutput. Folder wyjściowy zawiera plik executionresult.json i plik wyjściowy skryptu. Plik executionresult.json zawiera komunikat o błędzie wykonywania skryptu. Plik wyjściowy jest tworzony tylko po pomyślnym uruchomieniu skryptu.
Folder input zawiera plik skryptu systemu i plik skryptu wdrożenia użytkownika. Możesz zastąpić plik skryptu wdrożenia użytkownika poprawionym plikiem i ponownie uruchomić skrypt wdrożenia z wystąpienia kontenera platformy Azure.
Interfejs wiersza polecenia platformy Azure
Za pomocą interfejsu wiersza polecenia platformy Azure można zarządzać skryptami wdrażania w zakresie subskrypcji lub grupy zasobów:
- az deployment-scripts delete: Usuń skrypt wdrożenia.
- az deployment-scripts list: Wyświetl wszystkie skrypty wdrażania.
- az deployment-scripts show: Pobieranie skryptu wdrożenia.
- az deployment-scripts show-log: Pokaż dzienniki skryptów wdrażania.
Dane wyjściowe polecenia listy są podobne do tego przykładu:
{
"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
Za pomocą programu Azure PowerShell można zarządzać skryptami wdrażania w zakresie subskrypcji lub grupy zasobów:
- Get-AzDeploymentScript: pobieranie lub wyświetlanie listy skryptów wdrażania.
- Get-AzDeploymentScriptLog: pobierz dziennik wykonywania skryptu wdrażania.
- Remove-AzDeploymentScript: usuń skrypt wdrożenia i skojarzone z nim zasoby.
- Save-AzDeploymentScriptLog: zapisz dziennik wykonywania skryptu wdrażania na dysku.
Dane Get-AzDeploymentScript
wyjściowe są podobne do tego przykładu:
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
Interfejs API REST
Za pomocą interfejsu API REST można uzyskać informacje o zasobie skryptu wdrażania na poziomie grupy zasobów i na poziomie subskrypcji:
/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
W poniższym przykładzie użyto elementu ARMClient. ArmClient nie jest obsługiwanym narzędziem firmy Microsoft.
armclient login
armclient get /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/myrg/providers/microsoft.resources/deploymentScripts/myDeployementScript?api-version=2020-10-01
Dane wyjściowe są podobne do tego przykładu:
{
"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",
}
Następujący interfejs API REST zwraca dziennik:
/subscriptions/<SubscriptionID>/resourcegroups/<ResourceGroupName>/providers/microsoft.resources/deploymentScripts/<DeploymentScriptResourceName>/logs?api-version=2020-10-01
Działa tylko przed usunięciem zasobów skryptu wdrożenia.
Kody błędów skryptu wdrażania
W poniższej tabeli wymieniono kody błędów skryptu wdrażania:
Kod błędu | opis |
---|---|
DeploymentScriptInvalidOperation |
Definicja zasobu skryptu wdrożenia w pliku Bicep zawiera nieprawidłowe nazwy właściwości. |
DeploymentScriptResourceConflict |
Nie można usunąć zasobu skryptu wdrożenia, jeśli jest w stanie nieterminalnym, a wykonanie nie przekroczyło jednej godziny. Lub nie można ponownie uruchomić tego samego skryptu wdrożenia z tym samym identyfikatorem zasobu (tą samą subskrypcją, nazwą grupy zasobów i nazwą zasobu), ale inną zawartością treści skryptu w tym samym czasie. |
DeploymentScriptOperationFailed |
Operacja skryptu wdrażania nie powiodła się wewnętrznie. Skontaktuj się z pomocą techniczną firmy Microsoft. |
DeploymentScriptStorageAccountAccessKeyNotSpecified |
Nie określono klucza dostępu dla istniejącego konta magazynu. |
DeploymentScriptContainerGroupContainsInvalidContainers |
Grupa kontenerów utworzona przez usługę skryptu wdrażania została zmodyfikowana zewnętrznie i dodano nieprawidłowe kontenery. |
DeploymentScriptContainerGroupInNonterminalState |
Co najmniej dwa zasoby skryptu wdrożenia używają tej samej nazwy wystąpienia kontenera platformy Azure w tej samej grupie zasobów, a jedna z nich jeszcze nie zakończyła wykonywania. |
DeploymentScriptExistingStorageNotInSameSubscriptionAsDeploymentScript |
Istniejący magazyn udostępniony we wdrożeniu nie znajduje się w subskrypcji, w której jest wdrażany skrypt. |
DeploymentScriptStorageAccountInvalidKind |
Istniejące konto BlobBlobStorage magazynu typu lub BlobStorage nie obsługuje udziałów plików i nie można ich używać. |
DeploymentScriptStorageAccountInvalidKindAndSku |
Istniejące konto magazynu nie obsługuje udziałów plików. Aby uzyskać listę obsługiwanych typów kont magazynu, zobacz Używanie istniejącego konta magazynu. |
DeploymentScriptStorageAccountNotFound |
Konto magazynu nie istnieje ani nie usunięto zewnętrznego procesu ani narzędzia. |
DeploymentScriptStorageAccountWithServiceEndpointEnabled |
Określone konto magazynu ma punkt końcowy usługi. Konto magazynu z punktem końcowym usługi nie jest obsługiwane. |
DeploymentScriptStorageAccountInvalidAccessKey |
Określono nieprawidłowy klucz dostępu dla istniejącego konta magazynu. |
DeploymentScriptStorageAccountInvalidAccessKeyFormat |
Klucz konta magazynu ma nieprawidłowy format. Zobacz Zarządzanie kluczami dostępu do konta magazynu. |
DeploymentScriptExceededMaxAllowedTime |
Czas wykonywania skryptu wdrożenia przekroczył wartość limitu czasu określoną w definicji zasobu skryptu wdrożenia. |
DeploymentScriptInvalidOutputs |
Dane wyjściowe skryptu wdrażania nie są prawidłowym obiektem JSON. |
DeploymentScriptContainerInstancesServiceLoginFailure |
Tożsamość zarządzana przypisana przez użytkownika nie może się zalogować po 10 próbach z interwałami jednominutowymi. |
DeploymentScriptContainerGroupNotFound |
Zewnętrzne narzędzie lub proces usunął grupę kontenerów utworzoną przez usługę skryptu wdrażania. |
DeploymentScriptDownloadFailure |
Pobieranie skryptu pomocniczego nie powiodło się. Zobacz Używanie skryptów pomocniczych. |
DeploymentScriptError |
Skrypt użytkownika zgłosił błąd. |
DeploymentScriptBootstrapScriptExecutionFailed |
Skrypt uruchamiania rzucił błąd. Skrypt bootstrap to skrypt systemowy, który organizuje wykonywanie skryptu wdrażania. |
DeploymentScriptExecutionFailed |
Wystąpił nieznany błąd podczas wykonywania skryptu wdrażania. |
DeploymentScriptContainerInstancesServiceUnavailable |
Podczas tworzenia wystąpienia kontenera usługa Azure Container Instances zgłosiła błąd "usługa niedostępna". |
DeploymentScriptContainerGroupInNonterminalState |
Podczas tworzenia wystąpienia kontenera inny skrypt wdrożenia używał tej samej nazwy wystąpienia kontenera w tym samym zakresie (tej samej subskrypcji, nazwy grupy zasobów i nazwy zasobu). |
DeploymentScriptContainerGroupNameInvalid |
Określona nazwa wystąpienia kontenera nie spełnia wymagań usługi Azure Container Instances. Zobacz Rozwiązywanie typowych problemów w usłudze Azure Container Instances. |
Uzyskiwanie dostępu do prywatnej sieci wirtualnej
Skrypty wdrażania można uruchamiać w sieciach prywatnych z kilkoma dodatkowymi konfiguracjami. Aby uzyskać więcej informacji, zobacz Uzyskiwanie dostępu do prywatnej sieci wirtualnej przy użyciu punktu końcowego usługi lub Prywatne uruchamianie skryptu wdrażania Bicep za pośrednictwem prywatnego punktu końcowego.
Następne kroki
W tym artykule przedstawiono sposób używania skryptów wdrażania. Aby dowiedzieć się więcej, zobacz:
- Moduł szkoleniowy: rozszerzanie szablonów usługi ARM przy użyciu skryptów wdrażania
- Opracowywanie zasobów skryptu wdrażania
- Uzyskiwanie dostępu do prywatnej sieci wirtualnej przy użyciu punktu końcowego usługi
- Uruchamianie skryptu wdrożenia Bicep prywatnie za pośrednictwem prywatnego punktu końcowego
- Tworzenie środowisk deweloperskich skryptów