Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Neste guia, aprenda a usar um modelo de Bicep para criar Azure Quantum workspaces e os grupos de recursos e contas de armazenamento necessários. Após a implantação do modelo, você pode começar a executar seus aplicativos quânticos no Azure Quantum. Tratar sua infraestrutura como código permite que você acompanhe as alterações em seus requisitos de infraestrutura e torne suas implantações mais consistentes e repetíveis.
O Bicep usa uma sintaxe declarativa que você trata como o código do aplicativo. Se você estiver familiarizado com a sintaxe JSON para escrever modelos Azure Resource Manager (ARM), descobrirá que Bicep fornece uma sintaxe mais concisa e uma segurança de tipo aprimorada.
Pré-requisitos
conta do Azure
Antes de começar, você precisa ter uma conta do Azure com uma assinatura ativa. Se você não tiver uma conta da Azure, registre-se gratuitamente e inscreva-se em uma assinatura pague conforme o uso.
Editor
Para criar modelos de Bicep, você precisa de um bom editor. Recomendamos a versão mais recente do VS Code com a extensão Bicep.
Implantação de linha de comando
Você também precisa do Azure PowerShell ou da CLI do Azure para implantar o modelo. Se você usar a CLI do Azure, deverá ter a versão mais recente. Para obter as instruções de instalação, confira:
- Instalar o Azure PowerShell
- Instalar a CLI do Azure no Windows
- Instalar a CLI do Azure no Linux
- Instalar a CLI do Azure no macOS
Entrar no Azure
Depois de instalar o Azure PowerShell ou a CLI do Azure, certifique-se de entrar pela primeira vez. Escolha uma das seguintes guias e execute os comandos de linha de comando correspondentes para entrar no Azure:
az login
Se tiver várias assinaturas do Azure, selecione a que deseja usar. Substitua SubscriptionName pelo nome da assinatura. Você também pode usar a ID da assinatura em vez do nome da assinatura.
az account set --subscription SubscriptionName
Criar um grupo de recursos vazio
Ao implantar um modelo, especifique um grupo de recursos que contenha o workspace quântico com seus recursos associados. Antes de executar o comando de implantação, crie o grupo de recursos com a CLI do Azure ou o Azure PowerShell.
az group create --name myResourceGroup --location "East US"
Examinar o modelo 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
Os seguintes recursos de Azure são criados pelo modelo:
- Conta de Armazenamento do Azure: conta de armazenamento para armazenar dados de entrada e saída de tarefas quânticas.
- Espaco de trabalho do Azure Quantum: uma coleção de recursos associados à execução de aplicativos quânticos.
O modelo também concede a permissão colaborador do workspace quântico para a conta de armazenamento. Essa etapa é necessária para que o espaço de trabalho possa ler e gravar dados do trabalho.
O modelo gera a saída a seguir. Você pode usar esses valores mais tarde para identificar o workspace quântico gerado e autenticar-o:
- ID da assinatura que hospeda todos os recursos implantados.
- Grupo de Recursos que contém todos os recursos implantados.
- Nome do workspace quântico.
- Local do datacenter que hospeda o workspace.
- ID do locatário contendo credenciais usadas na implantação.
Implantar o modelo
Para implantar o modelo, use a CLI do Azure ou o Azure PowerShell. Use o grupo de recursos que você criou. Dê um nome à implantação para que você possa identificá-la facilmente no histórico de implantação. Substitua {provide-the-path-to-the-template-file} e as chaves {} pelo caminho para o arquivo de modelo. Além disso, substitua {provide-app-name} e {provide-location} por valores para o nome geral do aplicativo e o local onde o workspace deve residir. O nome do aplicativo deve conter apenas letras.
Para executar esse comando de implantação, você precisa ter a versão mais recente da CLI do 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}"
O comando de implementação devolve resultados. Procure por ProvisioningState para ver se a implementação foi bem-sucedida.
Importante
Em alguns casos, você pode receber um erro de implantação (Código: PrincipalNotFound). O motivo para isso é que a entidade de segurança do workspace ainda não tinha sido criada quando o gerenciador de recursos tentou configurar a atribuição de função. Se esse for o caso, basta repetir a implantação. Ela deve ter êxito na segunda execução.
Validar a implementação
Você pode verificar a implantação explorando o grupo de recursos no portal do Azure.
Entre no portal do Azure.
No menu à esquerda, selecione Grupos de recursos.
Selecione o grupo de recursos implantado no último procedimento. O nome padrão é myResourceGroup. Você deve ver dois recursos implantados no grupo de recursos: a conta de armazenamento e o espaço de trabalho quântico.
Verifique se o espaço de trabalho quântico tem os direitos de acesso necessários para a conta de armazenamento. Selecione a conta de armazenamento. No painel de menu à esquerda, selecione Controle de Acesso (IAM) e verifique se em Atribuições de função o recurso de workspace quântico está listado em Contribuidor.
Limpar os recursos
Se você não precisar mais do espaço de trabalho quântico, talvez queira excluir o grupo de recursos.
az group delete --name myResourceGroup
Próximas Etapas
Agora que você sabe criar e excluir espaços de trabalho, aprenda sobre os diferentes targets para executar algoritmos de Quantum no Azure Quantum. Agora você também tem as ferramentas para realizar implantações de workspace de dentro do Azure Pipelines ou do GitHub Actions.