Megosztás a következőn keresztül:


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:

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:

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.

  1. Jelentkezzen be az Azure Portalra.

  2. A bal oldali menüben válassza az Erőforráscsoportok lehetőséget.

  3. 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.

  4. 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.