Freigeben über


Verwenden von Bereitstellungsskripts in Bicep

Sie können die DeploymentScripts-Ressource verwenden, um Skripts in Bicep-Bereitstellungen auszuführen und Ausführungsergebnisse zu überprüfen. Diese Skripts helfen Ihnen, die folgenden benutzerdefinierten Schritte auszuführen:

  • Hinzufügen von Benutzern zu einem Verzeichnis
  • Ausführen von Vorgängen auf Datenebene, z. B. Kopieren von Blobs oder Ausführen von Datenbankseeding
  • Suchen und Überprüfen eines Lizenzschlüssels
  • Erstellen Sie ein selbstsigniertes Zertifikat.
  • Erstellen Sie ein Objekt in Microsoft Entra ID.
  • Suchen von IP-Adressblöcken auf einem benutzerdefinierten System

Bereitstellungsskripts haben u. a. folgende Vorteile:

  • Sie sind einfach zu codieren, zu verwenden und zu debuggen. Sie können Bereitstellungsskripts in Ihren bevorzugten Entwicklungsumgebungen entwickeln. Die Skripts können in Bicep-Dateien oder externe Skriptdateien eingebettet werden.
  • Sie können die Skriptsprache und die Plattform angeben. Azure PowerShell- und Azure CLI-Bereitstellungsskripts in der Linux-Umgebung werden derzeit unterstützt.
  • Sie können Befehlszeilenargumente an das Skript übergeben.
  • Sie können Skriptausgaben angeben und an die Bereitstellung zurückgeben.

Die Bereitstellungsskriptressource ist nur in den Regionen verfügbar, in denen Azure Container Instances verfügbar ist. Weitere Informationen finden Sie unter Ressourcenverfügbarkeits- und Kontingentbeschränkungen für ACI und Produkte, die nach Region verfügbar sind.

Der Bereitstellungsskriptdienst erstellt zwei unterstützende Ressourcen – ein Speicherkonto und eine Containerinstanz – zum Ausführen und Beheben von Skripts. Die Namen dieser Ressourcen werden mithilfe eines deterministischen Hashs der Ressourcen-ID des Bereitstellungsskripts generiert, wobei das Suffix azscripts angefügt ist (z. B. jgczqtxom5oreazscripts). Daher können wiederholte Ausführungen desselben Bereitstellungsskripts dasselbe Speicherkonto wiederverwenden.

In seltenen Fällen kann der Fehler „Der Speicherkontoname <storage-account-name> ist bereits verwendet“ auftreten. Dies tritt typischerweise auf, wenn ein Speicherkonto, das durch eine vorherige Ausführung desselben Bereitstellungsskripts erstellt wurde, nicht erfolgreich bereinigt wurde.

Warnung

Im Allgemeinen bereinigt der Dienst diese Unterstützenden Ressourcen nach Abschluss des Bereitstellungsskripts. Es entstehen jedoch Gebühren für diese Ressourcen, bis sie entfernt werden. Preisinformationen finden Sie unter Azure Container Instances-Preise und Azure Blob Storage-Preise. Weitere Informationen finden Sie unter Bereinigen von Bereitstellungsskriptressourcen.

Konfigurieren der mindestens erforderlichen Berechtigungen

Bei Version 2020-10-01 oder höher der Bereitstellungsskript-API sind zwei Prinzipale an der Ausführung des Bereitstellungsskripts beteiligt:

  • Bereitstellungsprinzipal: Dieser Prinzipal wird für die Bereitstellung der Bicep-Datei verwendet. Es erstellt zugrunde liegende Ressourcen, die für die Bereitstellungsskriptressource erforderlich sind, um ein Speicherkonto und eine Azure-Containerinstanz auszuführen. Weisen Sie dem Bereitstellungsprinzipal eine benutzerdefinierte Rolle mit den folgenden Eigenschaften zu, um die Berechtigungen mit den geringsten Rechten zu konfigurieren:

    {
      "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]"
      ]
    }
    

    Wenn die Ressourcenanbieter für Azure Storage und Azure-Containerinstanzen nicht registriert sind, fügen Sie Microsoft.Storage/register/action und Microsoft.ContainerInstance/register/action hinzu.

  • Bereitstellungsskriptprinzipal: Dieser Prinzipal ist nur erforderlich, wenn das Bereitstellungsskript sich bei Azure authentifizieren und die Azure CLI oder PowerShell aufrufen muss. Es gibt zwei Möglichkeiten, den Bereitstellungsskriptprinzipal anzugeben:

    • Geben Sie eine vom Benutzer zugewiesene verwaltete Identität in der identity Eigenschaft an. Weitere Informationen finden Sie in der Syntax der Bereitstellungsskriptressource. Wenn Sie eine vom Benutzer zugewiesene verwaltete Identität angeben, ruft der Skriptdienst vor dem Aufrufen des Bereitstellungsskripts auf Connect-AzAccount -Identity . Die verwaltete Identität muss über den erforderlichen Zugriff verfügen, um den Vorgang im Skript abzuschließen. Derzeit wird nur eine vom Benutzer zugewiesene verwaltete Identität für die identity Eigenschaft unterstützt. Verwenden Sie die zweite Methode in dieser Liste, um sich mit einer anderen Identität anzumelden.
    • Übergeben Sie die Anmeldeinformationen für den Dienstprinzipal als sichere Umgebungsvariablen, und rufen Sie dann Connect-AzAccount oder az login im Bereitstellungsskript auf.

    Wenn Sie eine verwaltete Identität verwenden, muss für den Bereitstellungsprinzipal die integrierte Rolle „Operator für verwaltete Identität“ der Ressource der verwalteten Identität zugewiesen sein.

Eine integrierte Rolle ist zurzeit nicht für die Konfiguration von Bereitstellungsskriptberechtigungen zugeschnitten.

Erstellen von Bereitstellungsskripts

Das folgende Beispiel veranschaulicht eine einfache Bicep-Datei mit einer Bereitstellungsskriptressource. Das Skript verwendet einen Zeichenfolgenparameter und erstellt eine andere Zeichenfolge:

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

Weitere Informationen zum Erstellen von Bereitstellungsskriptressourcen finden Sie unter Entwickeln eines Bereitstellungsskripts in Bicep. Um Skripts für die Bereitstellungsskriptressource zu erstellen, empfiehlt es sich, eine dedizierte Skriptentwicklungsumgebung wie eine Azure-Containerinstanz oder ein Docker-Image einzurichten. Nachdem die Skripts entwickelt und gründlich getestet wurden, können Sie die Skriptdateien über die Bereitstellungsskriptressource integrieren oder aufrufen. Weitere Informationen finden Sie unter Konfigurieren der Entwicklungsumgebung für Bereitstellungsskripts in Bicep-Dateien.

Speichern Sie das Skript in einer InlineScript.bicep-Datei , und verwenden Sie dann die folgenden Skripts, um die Ressource bereitzustellen:

$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 ..."

Verwenden der verwalteten Identität

Im folgenden Beispiel wird veranschaulicht, wie sie verwaltete Identität für die Interaktion mit Azure aus dem Bereitstellungsskript verwenden:

@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://v4.hkg1.meaqua.org/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
    '''
  }
}

Überwachen eines Bereitstellungsskripts und Behandeln von Problemen

Wenn Sie eine Bereitstellungsskriptressource bereitstellen, benötigen Sie ein Speicherkonto zum Speichern des Benutzerskripts, der Ausführungsergebnisse und der stdout-Datei. Sie können Ihr eigenes Speicherkonto angeben. Weitere Informationen finden Sie unter Verwenden eines vorhandenen Speicherkontos.

Eine Alternative zum Angeben Ihres eigenen Speicherkontos ist das Festlegen von cleanupPreference auf OnExpiration. Anschließend konfigurieren Sie retentionInterval für eine Dauer, die ausreichend Zeit zum Überprüfen der Ausgaben ermöglicht, bevor das Speicherkonto entfernt wird. Weitere Informationen finden Sie unter Bereinigen von Bereitstellungsskriptressourcen.

Fügen Sie der vorherigen Bicep-Datei die Eigenschaft cleanupPreference hinzu, und legen Sie den Wert auf OnExpiration fest. Standardwert: Always. Legen Sie außerdem rentalInterval auf PT1H (eine Stunde) oder ein kürzeres Intervall fest.

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

Nach der erfolgreichen Bereitstellung der Bicep-Datei verwenden Sie das Azure-Portal, die Azure CLI, Azure PowerShell oder die REST-API, um die Ergebnisse zu überprüfen.

Azure-Portal

Nachdem Sie eine Bereitstellungsskriptressource bereitgestellt haben, wird sie im Azure-Portal unter der Ressourcengruppe aufgeführt. Auf der Seite Übersicht werden die beiden unterstützenden Ressourcen zusätzlich zur Bereitstellungsskriptressource aufgeführt. Die unterstützenden Ressourcen werden nach Ablauf des Aufbewahrungsintervalls gelöscht.

Beachten Sie, dass die Namen der beiden unterstützenden Ressourcen das Suffix azscripts haben, da diese Ressourcen automatisch erstellt werden. Die andere Möglichkeit, die unterstützenden Ressourcen zu identifizieren, besteht darin, Tags zu verwenden.

Screenshot: Ressourcengruppe für Bereitstellungsskript

Wählen Sie die Bereitstellungsskriptressource aus der Liste aus. Auf der Seite "Übersicht" einer Bereitstellungsskriptressource werden wichtige Informationen zur Ressource angezeigt, einschließlich des Bereitstellungsstatus und der beiden unterstützenden Ressourcen, Speicherkonto und Containerinstanz. Im Bereich Protokolle wird der Drucktext aus dem Skript angezeigt.

Screenshot: Informationen zu einer Bereitstellungsskript-Ressource

Wählen Sie Ausgaben aus, um die Ausgaben des Skripts anzuzeigen.

Screenshot: Ausgaben des Bereitstellungsskripts

Wechseln Sie zurück zur Ressourcengruppe, und wählen Sie das Speicherkonto und dann Dateifreigabenaus. Wählen Sie die Dateifreigabe aus, bei der azscripts an den Namen der Freigabe angehängt ist. Zwei Ordner werden in der Liste angezeigt: azscriptinput und azscriptoutput. Der Ausgabeordner enthält die Datei executionresult.json und die Skriptausgabedatei. Die Datei executionresult.json enthält die Fehlermeldung der Skriptausführung. Die Ausgabedatei wird nur erstellt, wenn das Skript erfolgreich ausgeführt wurde.

Screenshot: Inhalts des Ausgabeordners eines Bereitstellungsskripts

Der Eingabeordner enthält die Systemskriptdatei und die Bereitstellungsskriptdateien der Benutzer*innen. Sie können die Skriptdatei für die Benutzerbereitstellung durch eine überarbeitete Version ersetzen und das Bereitstellungsskript erneut aus der Azure-Containerinstanz ausführen.

Azure CLI

Mithilfe der Azure-Befehlszeilenschnittstelle können Sie Bereitstellungsskripts im Abonnement- oder Ressourcengruppenbereich verwalten:

Die Ausgabe des list-Befehls ähnelt dem folgenden Beispiel:

{
  "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

Mithilfe von Azure PowerShell können Sie Bereitstellungsskripts im Abonnement- oder Ressourcengruppenbereich verwalten:

Die Get-AzDeploymentScript-Ausgabe ähnelt diesem Beispiel:

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

Mithilfe der REST-API können Sie Informationen zur Bereitstellungsskriptressource auf Ressourcengruppenebene und Abonnementebene abrufen:

/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

Im folgenden Beispiel wird ARMClient verwendet. ARMClient ist kein unterstütztes Tool von Microsoft.

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

Die Ausgabe ähnelt diesem Beispiel:

{
  "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",
}

Die folgende REST-API gibt das Protokoll zurück:

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

Dies funktioniert nur, bevor die Bereitstellungsskriptressourcen gelöscht werden.


Fehlercodes von Bereitstellungsskripts

Die folgende Tabelle enthält die Fehlercodes für das Bereitstellungsskript:

Fehlercode BESCHREIBUNG
DeploymentScriptInvalidOperation Die Ressourcendefinition im Bereitstellungsskript in der Bicep-Datei enthält ungültige Eigenschaftsnamen.
DeploymentScriptResourceConflict Sie können eine Bereitstellungsskriptressource nicht löschen, wenn sie sich in einem nicht terminalen Zustand befindet und die Ausführung eine Stunde noch nicht überschritten hat. Oder Sie können dasselbe Bereitstellungsskript nicht mit demselben Ressourcenbezeichner (gleichem Abonnement, Ressourcengruppennamen und Ressourcennamen) und gleichzeitig unterschiedlichen Skripttextinhalten erneut ausführen.
DeploymentScriptOperationFailed Interner Fehler beim Bereitstellungsskriptvorgang. Wenden Sie sich an den Microsoft-Support.
DeploymentScriptStorageAccountAccessKeyNotSpecified Der Zugriffsschlüssel wurde nicht für das vorhandene Speicherkonto angegeben.
DeploymentScriptContainerGroupContainsInvalidContainers Eine vom Bereitstellungsskriptdienst erstellte Containergruppe wurde extern geändert, und es wurden ungültige Container hinzugefügt.
DeploymentScriptContainerGroupInNonterminalState Mindestens zwei Bereitstellungsskriptressourcen verwenden denselben Azure-Containerinstanznamen in derselben Ressourcengruppe, und einer von ihnen hat die Ausführung noch nicht abgeschlossen.
DeploymentScriptExistingStorageNotInSameSubscriptionAsDeploymentScript Der in der Bereitstellung angegebene vorhandene Speicher wird nicht in dem Abonnement gefunden, in dem das Skript bereitgestellt wird.
DeploymentScriptStorageAccountInvalidKind Das vorhandene Speicherkonto des Typs BlobBlobStorage oder BlobStorage unterstützt keine Dateifreigaben und kann nicht verwendet werden.
DeploymentScriptStorageAccountInvalidKindAndSku Das vorhandene Speicherkonto unterstützt keine Dateifreigaben. Eine Liste der unterstützten Speicherkontotypen finden Sie unter Verwenden eines vorhandenen Speicherkontos.
DeploymentScriptStorageAccountNotFound Das Speicherkonto ist nicht vorhanden oder wurde von einem externen Prozess oder Tool gelöscht.
DeploymentScriptStorageAccountWithServiceEndpointEnabled Das angegebene Speicherkonto besitzt einen Dienstendpunkt. Ein Speicherkonto mit einem Dienstendpunkt wird nicht unterstützt.
DeploymentScriptStorageAccountInvalidAccessKey Für das vorhandene Speicherkonto wurde ein ungültiger Zugriffsschlüssel angegeben.
DeploymentScriptStorageAccountInvalidAccessKeyFormat Der Speicherkontoschlüssel weist ein ungültiges Format auf. Weitere Informationen finden Sie unter Verwalten von Speicherkonto-Zugriffsschlüsseln.
DeploymentScriptExceededMaxAllowedTime Die Dauer der Ausführung des Bereitstellungsskripts hat den in der Ressourcendefinition des Bereitstellungsskripts angegebenen Timeoutwert überschritten.
DeploymentScriptInvalidOutputs Die Bereitstellungsskriptausgabe ist kein gültiges JSON-Objekt.
DeploymentScriptContainerInstancesServiceLoginFailure Die benutzerseitig zugewiesene verwaltete Identität konnte sich nach 10 Versuchen in einem Intervall von jeweils einer Minute nicht anmelden.
DeploymentScriptContainerGroupNotFound Eine vom Bereitstellungsskriptdienst erstellte Containergruppe wurde von einem externen Tool oder Prozess gelöscht.
DeploymentScriptDownloadFailure Fehler beim Herunterladen eines unterstützenden Skripts. Siehe Verwenden unterstützender Skripts.
DeploymentScriptError Das Benutzerskript hat einen Fehler ausgelöst.
DeploymentScriptBootstrapScriptExecutionFailed Das Bootstrapskript hat einen Fehler ausgelöst. Das Bootstrapskript ist das Systemskript, das die Ausführung des Bereitstellungsskripts orchestriert.
DeploymentScriptExecutionFailed Während der Ausführung des Bereitstellungsskripts ist ein unbekannter Fehler aufgetreten.
DeploymentScriptContainerInstancesServiceUnavailable Der Azure Container Instances-Dienst hat beim Erstellen einer Containerinstanz einen Fehler "Dienst nicht verfügbar" ausgelöst.
DeploymentScriptContainerGroupInNonterminalState Beim Erstellen einer Containerinstanz hat ein anderes Bereitstellungsskript denselben Containerinstanznamen im selben Bereich (selbes Abonnement, selber Ressourcengruppenname und selber Ressourcenname) verwendet.
DeploymentScriptContainerGroupNameInvalid Der angegebene Containerinstanzname entspricht nicht den Azure Container Instances-Anforderungen. Siehe Behandeln von häufigen Problemen in Azure Container Instances.

Zugreifen auf ein privates virtuelles Netzwerk

Sie können Bereitstellungsskripts in privaten Netzwerken mit einigen zusätzlichen Konfigurationen ausführen. Weitere Informationen finden Sie unter Zugriff auf ein privates virtuelles Netzwerk über ein Bicep-Bereitstellungsskript oder führen Sie das Bicep-Bereitstellungsskript privat über einen privaten Endpunkt aus.

Nächste Schritte

In diesem Artikel haben Sie erfahren, wie Sie Bereitstellungsskripts verwenden. Informationen zu den Themen in diesem Artikel finden Sie unter: