Udostępnij za pośrednictwem


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ę i Microsoft.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 przed Connect-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ługiwana identity 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.

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.

Zrzut ekranu przedstawiający grupę zasobów skryptu wdrażania.

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.

Zrzut ekranu przedstawiający informacje o zasobie skryptu wdrażania.

Wybierz pozycję Dane wyjściowe, aby wyświetlić dane wyjściowe skryptu.

Zrzut ekranu przedstawiający dane wyjściowe skryptu wdrażania.

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.

Zrzut ekranu przedstawiający zawartość folderu wyjściowego skryptu wdrożenia.

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:

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:

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: