Kvantum-munkaterületek kezelése az Azure Resource Manager
Ebből az útmutatóból megtudhatja, hogyan hozhat létre Azure Quantum-munkaterületeket, valamint a szükséges erőforráscsoportokat és tárfiókokat Egy Azure Resource Manager-sablon (ARM-sablon) vagy Egy Bicep-sablon használatával. A sablon üzembe helyezése után megkezdheti a kvantumalkalmazások futtatását az Azure Quantumban. Az infrastruktúra kódként való kezelése lehetővé teszi az infrastruktúra-követelmények változásainak nyomon követését, és biztosítható vele az üzembe helyezések egységessége és megismételhetősége is.
Az ARM-sablon egy JavaScript Object Notation- (JSON-) fájl, amely meghatározza a projekt infrastruktúráját és konfigurációját. A sablon deklaratív szintaxist használ. A deklaratív szintaxissal úgy írhatja le a kívánt üzemelő példányt, hogy nem kell megírnia az üzemelő példány létrehozására szolgáló programozási parancsokat. A bicep deklaratív szintaxist használ, amelyet az alkalmazáskódhoz hasonlóan lehet kezelni. Ha ismeri az Azure Resource Manager-sablonok (ARM-sablonok) írásához használt JSON-szintaxist, azt tapasztalhatja, hogy a Bicep tömörebb szintaxist és továbbfejlesztett típusbiztonságot biztosít. Valójában a Bicep-fájlok standard ARM-sablonokra lesznek lefordítva.
Előfeltételek
Azure-fiók
Mielőtt hozzákezdene, rendelkeznie kell egy aktív előfizetéssel rendelkező Azure-fiókkal. Ha nem rendelkezik Azure-fiókkal, regisztráljon ingyenesen, és regisztráljon használatalapú fizetéses előfizetésre.
Szerkesztő
ARM- vagy Bicep-sablonok létrehozásához jó szerkesztőre van szükség. Javasoljuk, hogy a Visual Studio Code-ot használja a Resource Manager Tools bővítménnyel. Ha telepítenie kell ezeket az eszközöket, olvassa el a Rövid útmutató: ARM-sablonok létrehozása a Visual Studio Code-dal című témakört.
Parancssori üzembe helyezés
A sablon üzembe helyezéséhez Azure PowerShell vagy Azure CLI szükséges. Ha az Azure CLI-t használja, a legújabb verzióval kell rendelkeznie. A telepítési utasításokért lásd:
- Az Azure PowerShell telepítése
- Az Azure CLI telepítése Windows rendszeren
- Az Azure CLI telepítése Linux rendszeren
- Az Azure CLI telepítése macOS rendszeren
Bejelentkezés az Azure-ba
A Azure PowerShell vagy az Azure CLI telepítése után győződjön meg arról, hogy először jelentkezik be. Válasszon az alábbi lapok közül, és futtassa a megfelelő parancssori parancsokat az Azure-ba való bejelentkezéshez:
az login
Ha több Azure-előfizetéssel rendelkezik, válassza ki a használni kívánt előfizetést. Cserélje le SubscriptionName
a elemet az előfizetés nevére. Az előfizetés neve helyett az előfizetés azonosítóját is használhatja.
az account set --subscription SubscriptionName
Üres erőforráscsoport létrehozása
Sablon üzembe helyezésekor meg kell adnia egy erőforráscsoportot, amely a hozzá tartozó erőforrásokat tartalmazó kvantum-munkaterületet fogja tartalmazni. Az üzembe helyezési parancs futtatása előtt hozza létre az erőforráscsoportot az Azure CLI-vel vagy az Azure PowerShell-lel.
az group create --name myResourceGroup --location "East US"
A sablon áttekintése
@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
A következő Azure-erőforrásokat mindkét sablon hozza létre:
- Azure Storage-fiók: tárfiók a kvantumfeladatok bemeneti és kimeneti adatainak tárolásához.
- Azure Quantum-munkaterület: a kvantumalkalmazások futtatásához társított eszközök gyűjteménye.
A sablonok a kvantum-munkaterület közreműködői engedélyeit is biztosítják a tárfiókhoz. Erre a lépésre azért van szükség, hogy a munkaterület képes legyen a feladatadatok olvasására és írására.
Mindkét sablon a következő kimenetet hozza létre. Ezeket az értékeket később felhasználhatja a létrehozott kvantum-munkaterület azonosításához és hitelesítéséhez:
- Az összes üzembe helyezett erőforrást üzemeltető előfizetés-azonosító.
- Az összes üzembe helyezett erőforrást tartalmazó erőforráscsoport.
- A kvantum-munkaterület neve.
- A munkaterületet üzemeltető adatközpont helye.
- Az üzembe helyezéskor használt hitelesítő adatokat tartalmazó bérlőazonosító.
A sablon üzembe helyezése
A sablon üzembe helyezéséhez használja az Azure CLI-t vagy Azure PowerShell. Használja a létrehozott erőforráscsoportot. Adjon nevet az üzemelő példánynak, hogy könnyen azonosíthassa azt az üzembe helyezési előzményekben. Cserélje le {provide-the-path-to-the-template-file}
a és a kapcsos zárójeleket {}
a sablonfájl elérési útjára. Továbbá cserélje le {provide-app-name}
a és {provide-location}
a értéket a teljes alkalmazásnév és a munkaterület helyének értékeire. Az alkalmazás nevének csak betűket kell tartalmaznia.
Az üzembe helyezési parancs futtatásához az Azure CLI legújabb verziójára van szükség.
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}"
Az üzembe helyezési parancs eredményeket ad vissza.
ProvisioningState
Keresse meg, hogy az üzembe helyezés sikeres volt-e.
Fontos
Bizonyos esetekben üzembehelyezési hiba (Kód: PrincipalNotFound) jelenhet meg. Ennek az az oka, hogy a munkaterület-tag még nem jött létre, amikor az erőforrás-kezelő megpróbálta konfigurálni a szerepkör-hozzárendelést. Ha ez a helyzet, ismételje meg az üzembe helyezést. A második futtatásnak sikeresnek kell lennie.
Az üzembe helyezés ellenőrzése
Az üzembe helyezés ellenőrzéséhez tekintse meg az erőforráscsoportot a Azure Portal.
Jelentkezzen be az Azure Portalra.
A bal oldali menüben válassza az Erőforráscsoportok lehetőséget.
Válassza ki az utolsó eljárásban üzembe helyező erőforráscsoportot. Az alapértelmezett név a myResourceGroup. Az erőforráscsoportban két erőforrásnak kell megjelennie: a tárfiókban és a kvantum-munkaterületen.
Ellenőrizze, hogy a kvantum-munkaterület rendelkezik-e a tárfiókhoz szükséges hozzáférési jogosultságokkal. Válassza ki a tárfiókot. A bal oldali menüpanelen válassza a Access Control (IAM) lehetőséget, és ellenőrizze, hogy a Szerepkör-hozzárendelések területen a kvantum-munkaterület erőforrása szerepel-e a Közreműködő területen.
Az erőforrások eltávolítása
Ha már nincs szüksége a kvantum-munkaterületre, érdemes lehet törölnie az erőforráscsoportot.
az group delete --name myResourceGroup
További lépések
Most, hogy létrehozhat és törölhet munkaterületeket, megismerkedhet a kvantum-algoritmusok Azure Quantumban való futtatásának különbözőtargets lehetőségével. Most már rendelkezik a munkaterületek Azure Pipelinesból vagy GitHub Actions történő üzembe helyezéséhez szükséges eszközökkel is.