Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym przewodniku dowiesz się, jak używać szablonu usługi Azure Resource Manager (szablonu ARM) lub szablonu Bicep do tworzenia obszarów roboczych usługi Azure Quantum oraz wymaganych grup zasobów i kont przechowywania. Po wdrożeniu szablonu możesz rozpocząć uruchamianie aplikacji kwantowych w usłudze Azure Quantum. Traktowanie infrastruktury jako kodu umożliwia śledzenie zmian wymagań dotyczących infrastruktury i sprawia, że wdrożenia są bardziej spójne i powtarzalne.
Szablon usługi ARM to plik w formacie JavaScript Object Notation (JSON) definiujący infrastrukturę i konfigurację projektu. Szablon używa składni deklaratywnej. W składni deklaratywnej opisano zamierzone wdrożenie bez konieczności pisania sekwencji poleceń programowania w celu utworzenia wdrożenia. Bicep używa składni deklaratywnej, którą traktujesz jak kod aplikacji. Jeśli znasz składnię JSON do pisania szablonów usługi Azure Resource Manager (szablonów usługi ARM), przekonasz się, że Bicep zapewnia bardziej zwięzłą składnię i ulepszone bezpieczeństwo typów. W rzeczywistości pliki języka Bicep są kompilowane do standardowych szablonów ARM.
Wymagania wstępne
Konto platformy Azure
Przed rozpoczęciem musisz mieć konto platformy Azure z aktywną subskrypcją. Jeśli nie masz konta platformy Azure, zarejestruj się bezpłatnie i wybierz subskrypcję typu "płać za użycie".
Redaktor
Aby utworzyć szablony ARM lub Bicep, potrzebujesz dobrego edytora. Zalecamy Visual Studio Code z rozszerzeniem Narzędzia Menedżera Zasobów. Jeśli musisz zainstalować te narzędzia, zobacz dokumentację Szybki Start: Tworzenie szablonów ARM przy użyciu programu Visual Studio Code.
Wdrażanie z wiersza poleceń
Do wdrożenia szablonu potrzebny jest również program Azure PowerShell lub interfejs wiersza polecenia platformy Azure. Jeśli używasz interfejsu wiersza polecenia platformy Azure, musisz mieć najnowszą wersję. Aby uzyskać instrukcje dotyczące instalacji, zobacz:
- Instalowanie programu Azure PowerShell
- Instalowanie interfejsu wiersza polecenia platformy Azure w systemie Windows
- Instalowanie interfejsu wiersza polecenia platformy Azure w systemie Linux
- Instalowanie interfejsu wiersza polecenia platformy Azure w systemie macOS
Zaloguj się na platformie Azure
Po zainstalowaniu programu Azure PowerShell lub interfejsu wiersza polecenia platformy Azure upewnij się, że logujesz się po raz pierwszy. Wybierz jedną z poniższych kart i uruchom odpowiednie polecenia do wiersza poleceń, aby zalogować się do Azure.
az login
Jeśli masz wiele subskrypcji platformy Azure, wybierz subskrypcję, której chcesz użyć. Zastąp SubscriptionName
nazwą subskrypcji. Możesz również użyć identyfikatora subskrypcji zamiast nazwy subskrypcji.
az account set --subscription SubscriptionName
Tworzenie pustej grupy zasobów
Podczas wdrażania szablonu należy określić grupę zasobów, która będzie zawierać obszar roboczy kwantowy ze skojarzonymi zasobami. Przed uruchomieniem polecenia wdrożenia utwórz grupę zasobów przy użyciu interfejsu wiersza polecenia platformy Azure lub usługi Azure PowerShell.
az group create --name myResourceGroup --location "East US"
Przeglądanie szablonu
@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([
'eastus'
'japaneast'
'japanwest'
'northeurope'
'uksouth'
'ukwest'
'westcentralus'
'westeurope'
'westus'
'westus2'
])
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
Następujące zasoby platformy Azure są tworzone przez oba szablony:
- konto usługi Azure Storage: konto pamięci masowej do przechowywania danych wejściowych i wyjściowych dla zadań kwantowych.
- obszar roboczy usługi Azure Quantum: kolekcja zasobów skojarzonych z uruchomionymi aplikacjami kwantowymi.
Szablony również nadają obszarowi roboczemu kwantowemu uprawnienia współautorado konta magazynowania. Ten krok jest wymagany, aby obszar roboczy mógł odczytywać i zapisywać dane zadań.
Oba szablony generują następujące dane wyjściowe. Te wartości można później użyć do zidentyfikowania wygenerowanego obszaru roboczego kwantowego i uwierzytelnienia w nim:
- identyfikator subskrypcji hostowania wszystkich wdrożonych zasobów.
- grupa zasobów zawierająca wszystkie wdrożone zasoby.
- Nazwa obszaru roboczego kwantowego.
- lokalizacja centrum danych, które gospodaruje obszarem roboczym.
- Identyfikator dzierżawcy powiązany z poświadczeniami używanymi podczas wdrażania.
Wdrażanie szablonu
Aby wdrożyć szablon, użyj interfejsu wiersza polecenia platformy Azure lub programu Azure PowerShell. Użyj utworzonej grupy zasobów. Nadaj nazwę wdrożeniu, aby można je było łatwo zidentyfikować w historii wdrożenia. Zastąp {provide-the-path-to-the-template-file}
i nawiasy klamrowe {}
ścieżką do pliku szablonu. Ponadto zastąp {provide-app-name}
i {provide-location}
wartościami dla ogólnej nazwy aplikacji i lokalizacji, w której powinien znajdować się obszar roboczy. Nazwa aplikacji powinna zawierać tylko litery.
Aby uruchomić to polecenie wdrażania, musisz mieć najnowszą wersję interfejsu wiersza polecenia platformy Azure.
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}"
Polecenie wdrożenia zwraca wyniki. Poszukaj ProvisioningState
, aby sprawdzić, czy wdrożenie zakończyło się pomyślnie.
Ważne
W niektórych przypadkach może wystąpić błąd wdrożenia (Kod: PrincipalNotFound). Przyczyną tego jest to, że główna jednostka obszaru roboczego nie została jeszcze utworzona, kiedy menedżer zasobów próbował skonfigurować przypisanie roli. Jeśli tak jest, po prostu powtórz wdrożenie. Drugi przebieg powinien zakończyć się powodzeniem.
Weryfikowanie wdrożenia
Wdrożenie można zweryfikować, eksplorując grupę zasobów w witrynie Azure Portal.
Zaloguj się w witrynie Azure Portal.
W menu po lewej stronie wybierz pozycję Grupy zasobów.
Wybierz grupę zasobów wdrożoną w ostatniej procedurze. Domyślną nazwą jest myResourceGroup. Powinny zostać wyświetlone dwa zasoby wdrożone w grupie zasobów — konto magazynowe i pracownia kwantowa.
Sprawdź, czy obszar roboczy kwantowy ma niezbędne prawa dostępu do konta magazynowego. Wybierz konto magazynowe. W okienku menu po lewej stronie wybierz Access Control (IAM) i sprawdź, czy pod Przypisania ról zasób obszaru roboczego kwantowego jest wymieniony jako Contributor.
Czyszczenie zasobów
Jeśli nie potrzebujesz już obszaru roboczego kwantowego, możesz usunąć grupę zasobów.
az group delete --name myResourceGroup
Następne kroki
Teraz, gdy możesz tworzyć i usuwać obszary robocze, dowiedz się więcej o różnych metodach targets uruchamiania algorytmów kwantowych w usłudze Azure Quantum. Teraz masz również narzędzia do wykonywania wdrożeń obszarów roboczych z poziomu usługi Azure Pipelines lub funkcji GitHub Actions.