Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En esta guía, aprenderá a usar una plantilla de Bicep para crear áreas de trabajo de Azure Quantum y los grupos de recursos y las cuentas de almacenamiento necesarias. Después de la implementación de plantillas, puede empezar a ejecutar las aplicaciones cuánticas en Azure Quantum. El tratamiento de la infraestructura como código le permite realizar un seguimiento de los cambios en los requisitos de infraestructura y hace que las implementaciones sean más coherentes y repetibles.
Bicep usa una sintaxis declarativa que puedes tratar como código de aplicación. Si está familiarizado con la sintaxis JSON para escribir plantillas de Azure Resource Manager (ARM), encontrará que Bicep proporciona una sintaxis más concisa y una seguridad de tipos mejorada.
Prerequisites
Cuenta de Azure
Antes de empezar, debe tener una cuenta de Azure con una suscripción activa. Si no tiene una cuenta de Azure, regístrese gratuitamente y regístrese para obtener una suscripción de pago por uso.
Editor
Para crear plantillas de Bicep, necesita un buen editor. Se recomienda la versión más reciente de VS Code con la extensión Bicep.
Implementación desde la línea de comandos
También necesita Azure PowerShell o la CLI de Azure para implementar la plantilla. Si usa la CLI de Azure, debe tener la versión más reciente. Para obtener instrucciones de instalación, consulte:
- Instalar Azure PowerShell
- Instalación de la CLI de Azure en Windows
- Instalación de la CLI de Azure en Linux
- Instalación de la CLI de Azure en macOS
Iniciar sesión en Azure
Después de instalar Azure PowerShell o la CLI de Azure, asegúrese de iniciar sesión por primera vez. Elija una de las pestañas siguientes y ejecute los comandos de línea de comandos correspondientes para iniciar sesión en Azure:
az login
Si tiene varias suscripciones de Azure, seleccione la suscripción que desee usar. Reemplace SubscriptionName por el nombre de la suscripción. También puede utilizar un identificador de suscripción en lugar del nombre de la suscripción.
az account set --subscription SubscriptionName
Creación de un grupo de recursos vacío
Al implementar una plantilla, especifique un grupo de recursos que contenga el área de trabajo cuántica con sus recursos asociados. Antes de ejecutar el comando de implementación, cree el grupo de recursos con la CLI de Azure o Azure PowerShell.
az group create --name myResourceGroup --location "East US"
Revisión de la plantilla de Azure Bicep
@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
La plantilla crea los siguientes recursos Azure:
- Cuenta de Azure Storage: cuenta de almacenamiento para almacenar datos de entrada y salida para trabajos cuánticos.
- Área de trabajo de Azure Quantum: una colección de recursos asociados a la ejecución de aplicaciones cuánticas.
La plantilla también concede el permiso colaborador del área de trabajo cuántica a la cuenta de almacenamiento. Este paso es necesario para que el área de trabajo pueda leer y escribir datos de trabajo.
La plantilla genera la siguiente salida. Puede usar estos valores más adelante para identificar el área de trabajo cuántica generada y autenticarse en él:
- Identificador de suscripción que hospeda todos los recursos implementados.
- Grupo de recursos que contiene todos los recursos implementados.
- Nombre del área de trabajo cuántica.
- Ubicación del centro de datos que hospeda el área de trabajo.
- Identificador de inquilino que contiene las credenciales usadas en la implementación.
Implementación de la plantilla
Para implementar la plantilla, use la CLI de Azure o Azure PowerShell. Utilice el grupo de recursos que creó. Asigne un nombre a la implementación para que pueda identificarlo fácilmente en el historial de implementación. Reemplace {provide-the-path-to-the-template-file} y las llaves {} por la ruta de acceso al archivo de plantilla. Además, reemplace {provide-app-name} y {provide-location} por los valores del nombre general de la aplicación y la ubicación donde debe residir el área de trabajo. El nombre de la aplicación solo debe contener letras.
Para ejecutar este comando de implementación, debe tener la última versión de la CLI de 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}"
El comando de implementación devuelve resultados. Compruebe ProvisioningState para ver si la implementación fue exitosa.
Importante
En algunos casos, es posible que reciba un error de implementación (Código: PrincipalNotFound). El motivo es que el principal del área de trabajo aún no había sido creado cuando el administrador de recursos intentó configurar la asignación de roles. Si este es el caso, simplemente repita la implementación. Debería tener éxito en la segunda ejecución.
Validación de la implementación
Para comprobar la implementación, explore el grupo de recursos desde Azure Portal.
Inicie sesión en Azure Portal.
En el menú de la izquierda, seleccione Grupos de recursos.
Seleccione el grupo de recursos implementado en el último procedimiento. El nombre predeterminado es myResourceGroup. Debería ver dos recursos implementados en el grupo de recursos: la cuenta de almacenamiento y el área de trabajo cuántica.
Compruebe que el área de trabajo cuántica tiene derechos de acceso necesarios para la cuenta de almacenamiento. Seleccione la cuenta de almacenamiento. En el panel de menús izquierdo, seleccione Control de acceso (IAM) y compruebe que, en Asignaciones de roles, el recurso del área de trabajo cuántica aparece en Colaborador.
Limpieza de recursos
Si ya no necesita el área de trabajo cuántica, es posible que quiera eliminar el grupo de recursos.
az group delete --name myResourceGroup
Pasos siguientes
Ahora que puede crear y eliminar áreas de trabajo, obtenga información sobre los diferentes targets para ejecutar algoritmos cuánticos en Azure Quantum. Ahora también tiene las herramientas para realizar implementaciones de áreas de trabajo desde Azure Pipelines o Acciones de GitHub.