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.
Depois de criar um novo modelo da CLI do Desenvolvedor Azure (azd) ou começar a partir de um existente, você poderá estender e evoluir seu aplicativo e infraestrutura à medida que seus requisitos forem alterados. Este tutorial demonstra como adicionar um novo serviço Azure a um modelo sem depender de um módulo que o modelo já fornece.
Você começará com o modelo hello-azd, criará um módulo Bicep que definirá um recurso Tradutor do Azure, fará referência ao módulo direto do ponto de entrada da infraestrutura do modelo e exporá suas respectivas saídas como valores de ambiente azd. O tutorial se concentra na extensão da infraestrutura e não modifica o código do aplicativo.
Note
Você pode fazer as alterações a seguir diretamente ou com a ajuda de um assistente de codificação de IA. Independentemente do método de criação, examine os arquivos resultantes e valide o modelo antes da implantação.
Pré-requisitos
Para concluir este tutorial, você precisará:
- CLI do Desenvolvedor do Azure instalado.
- Uma assinatura do Azure.
- Permissão para criar recursos do Azure na assinatura.
- Um diretório vazio para o modelo inicializado.
Inicializar o modelo
Abra um terminal em um diretório vazio e inicialize o hello-azd modelo nesse diretório:
azd init --template hello-azd .
O modelo inclui:
- Um aplicativo C# implantado no Aplicativos de Contêiner do Azure como o serviço
acaemazure.yaml. - Uma identidade gerenciada atribuída pelo usuário para o aplicativo.
- Uma conta Armazenamento do Azure com um contêiner de blob e uma tabela.
- Registro de Contêiner do Azure e um ambiente Aplicativos de Contêiner do Azure.
- Módulos de Bicep reutilizáveis em
infra/core.
Para obter diretrizes sobre como selecionar e revisar um modelo antes da inicialização, consulte Iniciar a partir de um modelo existente.
Criar um módulo do Tradutor
Crie um arquivo chamado infra/translator.bicepmanualmente ou com a ajuda de um assistente de codificação de IA. Este novo módulo é autocontido e não depende de módulos do modelo inicial:
@description('Name of the Azure Translator resource.')
param name string
@description('Azure region for the resource.')
param location string
@description('Tags to apply to the resource.')
param tags object = {}
@description('Pricing tier for Azure Translator.')
@allowed([
'F0'
'S1'
])
param sku string = 'F0'
resource translator 'Microsoft.CognitiveServices/accounts@2023-05-01' = {
name: name
location: location
kind: 'TextTranslation'
sku: {
name: sku
}
properties: {
customSubDomainName: name
disableLocalAuth: true
publicNetworkAccess: 'Enabled'
}
tags: tags
}
output name string = translator.name
output endpoint string = translator.properties.endpoint
O módulo usa o TextTranslation tipo de recurso e desabilita a autenticação de chave local. A F0 camada é útil para avaliação, mas permite apenas um recurso gratuito de Tradutor por assinatura. Use S1 se a assinatura já contiver um recurso F0 ou se o projeto exigir um nível pago.
Importante
Este exemplo introdutório habilita o ponto de extremidade público para que você possa provisionar o recurso sem adicionar infraestrutura de rede. Antes de usar esse padrão em produção, avalie pontos de extremidade privados, controles de acesso à rede, monitoramento e os requisitos de segurança da sua organização.
Fazer referência ao módulo a partir de main.bicep
O modelo hello-azd define o grupo de recursos rg, location, tags e os valores resourceToken em infra/main.bicep. Você pode fazer essa edição manualmente ou solicitar a um assistente de IA para adicioná-la. Adicione o seguinte módulo após a declaração de rg recurso:
module translator './translator.bicep' = {
name: 'translator'
scope: rg
params: {
name: 'translator-${resourceToken}'
location: location
tags: tags
}
}
A scope propriedade implanta o módulo no grupo de recursos que o modelo cria. O valor existente resourceToken torna o nome do recurso tradutor distinto para cada ambiente.
Exportar as saídas do Tradutor
Adicione as seguintes saídas ao final de infra/main.bicep:
output AZURE_TRANSLATOR_NAME string = translator.outputs.name
output AZURE_TRANSLATOR_ENDPOINT string = translator.outputs.endpoint
Após o provisionamento, azd registra essas saídas não sigilosas no ambiente ativo. Uma alteração posterior do código do aplicativo pode usar esses valores para localizar o recurso tradutor.
Provisionar e verificar a infraestrutura
Provisione a infraestrutura do modelo sem implantar o código do aplicativo:
azd provision
Execute e confirme azd env get-values se a saída inclui AZURE_TRANSLATOR_NAME e AZURE_TRANSLATOR_ENDPOINT. No portal Azure, verifique se o grupo de recursos contém um recurso Tradutor do Azure.
Neste ponto, o modelo provisiona o serviço de IA, mas não conecta o aplicativo de exemplo a ele. Para concluir essa integração, configure o acesso com privilégio mínimo para a identidade gerenciada do aplicativo, passe o endpoint para o aplicativo e adicione um cliente do Translator ao código do aplicativo. Para obter mais informações, consulte a documentação do Tradutor do Azure.
Limpar os recursos
Quando você não precisar mais dos recursos, exclua-os para evitar encargos contínuos:
azd down --purge
Conteúdo relacionado
- Visão geral do desenvolvimento de modelos
- Começar com um novo modelo
- Iniciar a partir de um modelo existente
- Explorar e editar arquivos de modelo
Solicitar ajuda
Para obter informações sobre como arquivar um bug, solicitar ajuda ou propor um novo recurso para a CLI do Desenvolvedor do Azure, visite a página troubleshooting e suporte.