Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Leitfaden erfahren Sie, wie Sie mithilfe einer Bicep Vorlage Azure Quantum Arbeitsbereiche und die erforderlichen Ressourcengruppen und Speicherkonten erstellen können. Nach der Vorlagenbereitstellung können Sie mit der Ausführung Ihrer Quantenanwendungen in Azure Quantum beginnen. Wenn Sie Ihre Infrastruktur als Code behandeln, können Sie Änderungen an Ihren Infrastrukturanforderungen nachverfolgen und Ihre Bereitstellungen konsistenter und wiederholbarer gestalten.
Bicep verwendet eine deklarative Syntax, die Sie wie Anwendungscode behandeln. Wenn Sie mit der JSON-Syntax zum Schreiben Azure Resource Manager (ARM)-Vorlagen vertraut sind, stellen Sie fest, dass Bicep eine präzisere Syntax und verbesserte Typsicherheit bietet.
Voraussetzungen
Azure-Konto
Bevor Sie beginnen, müssen Sie über ein Azure-Konto mit einem aktiven Abonnement verfügen. Falls Sie noch kein Azure-Konto haben, registrieren Sie sich kostenlos und melden Sie sich für ein Abonnement mit nutzungsabhängiger Zahlung an.
Herausgeber
Um Bicep Vorlagen zu erstellen, benötigen Sie einen guten Editor. Wir empfehlen die neueste Version von VS Code mit der erweiterung Bicep.
Befehlszeilenbereitstellung
Sie benötigen auch Azure PowerShell oder Azure CLI, um die Vorlage bereitzustellen. Wenn Sie die Azure CLI verwenden, müssen Sie über die neueste Version verfügen. Die Installationsanweisungen finden Sie unter:
- Installieren von Azure PowerShell
- Installieren der Azure CLI unter Windows
- Installieren der Azure CLI unter Linux
- Installieren von Azure CLI unter macOS
Anmelden bei Azure
Stellen Sie nach der Installation von Azure PowerShell oder Azure CLI sicher, dass Sie sich zum ersten Mal anmelden. Wählen Sie eine der folgenden Registerkarten aus, und führen Sie die entsprechenden Befehlszeilenbefehle aus, um sich bei Azure anzumelden:
az login
Wenn Sie über mehrere Azure-Abonnements verfügen, wählen Sie das Abonnement aus, das Sie verwenden möchten. Ersetzen Sie SubscriptionName durch den Abonnementnamen. Sie können auch die Abonnement-ID anstelle des Abonnementnamens verwenden.
az account set --subscription SubscriptionName
Erstellen einer leeren Ressourcengruppe
Wenn Sie eine Vorlage bereitstellen, geben Sie eine Ressourcengruppe an, die den Quantenarbeitsbereich mit den zugehörigen Ressourcen enthält. Erstellen Sie vor dem Ausführen des Bereitstellungsbefehls die Ressourcengruppe mit Azure CLI oder Azure PowerShell.
az group create --name myResourceGroup --location "East US"
Überprüfen der Azure Bicep-Vorlage
@description('Application name used as prefix for the Azure Quantum workspace and its associated Storage account.')
param appName string
@description('Location of the Azure Quantum workspace and its associated Storage account.')
@allowed([
'westus'
'eastus'
'northeurope'
'westeurope'
'canary'
])
param location string
var quantumWorkspaceName = '${appName}-ws'
var storageAccountName = '${appName}${substring(uniqueString(resourceGroup().id), 0, 5)}'
resource storageAccount 'Microsoft.Storage/storageAccounts@2021-06-01' = {
name: storageAccountName
location: location
sku: {
name: 'Standard_LRS'
}
kind: 'StorageV2'
}
resource quantumWorkspace 'Microsoft.Quantum/Workspaces@2019-11-04-preview' = {
name: quantumWorkspaceName
location: location
identity: {
type: 'SystemAssigned'
}
properties: {
providers: [
{
providerId: 'Microsoft'
providerSku: 'DZH3178M639F'
applicationName: '${quantumWorkspaceName}-Microsoft'
}
]
storageAccount: storageAccount.id
}
}
resource roleAssignment 'Microsoft.Authorization/roleAssignments@2020-04-01-preview' = {
scope: storageAccount
name: guid(quantumWorkspace.id, '/subscriptions/${subscription().subscriptionId}/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c', storageAccount.id)
properties: {
roleDefinitionId: '/subscriptions/${subscription().subscriptionId}/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c'
principalId: reference(quantumWorkspace.id, '2019-11-04-preview', 'full').identity.principalId
}
}
output subscription_id string = subscription().subscriptionId
output resource_group string = resourceGroup().name
output name string = quantumWorkspace.name
output location string = quantumWorkspace.location
output tenant_id string = subscription().tenantId
Die folgenden Azure Ressourcen werden von der Vorlage erstellt:
- Azure Storage-Konto: Speicherkonto zum Speichern von Eingabe- und Ausgabedaten für Quantenaufträge.
- Azure Quantum-Arbeitsbereich: eine Sammlung von Ressourcen, die mit der Ausführung von Quantenanwendungen verknüpft sind.
Die Vorlage gewährt auch die Berechtigung "Quantum Workspace Contributor" für das Speicherkonto. Dieser Schritt ist erforderlich, damit der Arbeitsbereich Auftragsdaten lesen und schreiben kann.
Die Vorlage generiert die folgende Ausgabe. Sie können diese Werte später verwenden, um den generierten Quantenarbeitsbereich zu identifizieren und sich dafür zu authentifizieren:
- Abonnement-ID die alle bereitgestellten Ressourcen hostet.
- Ressourcengruppe mit allen bereitgestellten Ressourcen.
- Name des Quantenarbeitsbereichs.
- Standort des Rechenzentrums, in dem der Arbeitsbereich gehostet wird.
- Mandanten-ID mit Anmeldeinformationen, die bei der Bereitstellung verwendet werden.
Implementieren der Vorlage
Verwenden Sie zum Bereitstellen der Vorlage entweder Azure CLI oder Azure PowerShell. Verwenden Sie die von Ihnen erstellte Ressourcengruppe. Geben Sie der Bereitstellung einen Namen, damit Sie sie im Bereitstellungsverlauf leicht identifizieren können. Ersetzen Sie {provide-the-path-to-the-template-file} und die geschweiften Klammern {} durch den Pfad zu Ihrer Vorlagendatei. Ersetzen {provide-app-name} und {provide-location} durch Werte für den Anwendungsnamen und den Speicherort, an dem der Arbeitsbereich liegen soll. Der App-Name darf nur Buchstaben enthalten.
Für die Ausführung dieses Bereitstellungsbefehls müssen Sie über die aktuelle Version der Azure CLI verfügen.
templateFile="{provide-the-path-to-the-template-file}"
az deployment group create \
--name myDeployment \
--resource-group myResourceGroup \
--template-file $templateFile \
--parameters appName="{provide-app-name}" location="{provide-location}"
Der Bereitstellungsbefehl gibt Ergebnisse zurück. Suchen Sie nach ProvisioningState, um zu sehen, ob die Bereitstellung erfolgreich war.
Important
In einigen Fällen erhalten Sie möglicherweise einen Bereitstellungsfehler (Code: PrincipalNotFound). Grund hierfür ist, dass der Arbeitsbereichsprinzipal noch nicht erstellt wurde, als der Ressourcenmanager versucht hatte, die Rollenzuweisung zu konfigurieren. Wenn dies der Fall ist, wiederholen Sie einfach die Bereitstellung. Es sollte im zweiten Lauf erfolgreich sein.
Validierung der Bereitstellung
Sie können die Bereitstellung überprüfen, indem Sie die Ressourcengruppe aus dem Azure-Portal erkunden.
Melden Sie sich im Azure-Portal an.
Wählen Sie im linken Menü "Ressourcengruppen" aus.
Wählen Sie die Ressourcengruppe aus, die im letzten Verfahren bereitgestellt wird. Der Standardname ist myResourceGroup. Zwei Ressourcen sollten in der Ressourcengruppe bereitgestellt sein: das Speicherkontingent und der Quantenarbeitsbereich.
Stellen Sie sicher, dass der Quantenarbeitsbereich über erforderliche Zugriffsrechte für das Speicherkonto verfügt. Wählen Sie das Speicherkonto aus. Wählen Sie im linken Menübereich Access Control (IAM) aus, und stellen Sie sicher, dass unter Rollenzuweisungen die Quantum Workspace-Ressource unter "Mitwirkender" aufgeführt ist.
Bereinigen von Ressourcen
Wenn Sie den Quantenarbeitsbereich nicht mehr benötigen, können Sie die Ressourcengruppe löschen.
az group delete --name myResourceGroup
Nächste Schritte
Nachdem Sie nun Arbeitsbereiche erstellen und löschen können, erfahren Sie mehr über die verschiedenen Möglichkeitentargets zum Ausführen von Quantenalgorithmen in Azure Quantum. Sie verfügen jetzt auch über die Tools zum Ausführen von Arbeitsbereichsbereitstellungen direkt in Azure Pipelines oder GitHub Actions.