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.
Después de compilar una nueva plantilla de la CLI para desarrolladores de Azure (azd) o empezar a partir de una existente, puede ampliar y evolucionar su aplicación e infraestructura a medida que cambian los requisitos. En este tutorial se muestra cómo agregar un nuevo servicio Azure a una plantilla sin depender de un módulo que la plantilla ya proporciona.
Empezará con la hello-azd plantilla, creará un módulo de Bicep que define un recurso Azure Translator, hará referencia al módulo desde el punto de entrada de la infraestructura de la plantilla y expondrá sus salidas como azd valores de entorno. El tutorial se centra en ampliar la infraestructura y no modifica el código de la aplicación.
Note
Puede realizar los siguientes cambios directamente o con ayuda de un asistente de codificación de IA. Independientemente del método de creación, revise los archivos resultantes y valide la plantilla antes de la implementación.
Prerequisites
Para completar este tutorial, necesita:
- Azure CLI para desarrolladores instalada.
- Una suscripción a Azure.
- Permiso para crear recursos de Azure en la suscripción.
- Directorio vacío para la plantilla inicializada.
Inicialización de la plantilla
Abra un terminal en un directorio vacío e inicialice la hello-azd plantilla en ese directorio:
azd init --template hello-azd .
La plantilla incluye:
- Una aplicación de C# implementada en Azure Container Apps como servicio
acaenazure.yaml. - Una identidad administrada asignada por el usuario para la aplicación.
- Una cuenta de Azure Storage con un contenedor de blobs y una tabla.
- Azure Container Registry y un entorno de Azure Container Apps.
- Módulos de Bicep reutilizables en
infra/core.
Para obtener instrucciones sobre cómo seleccionar y revisar una plantilla antes de la inicialización, consulte Inicio desde una plantilla existente.
Creación de un módulo de Translator
Cree un archivo denominado infra/translator.bicep, ya sea manualmente o con ayuda de un asistente de codificación de IA. Este nuevo módulo es independiente y no depende de los módulos de la plantilla de inicio:
@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
El módulo utiliza el tipo de recurso TextTranslation y deshabilita la autenticación mediante clave local. El F0 nivel es útil para la evaluación, pero solo permite un recurso gratuito de Translator por suscripción. Use S1 si la suscripción ya contiene un F0 recurso o si el proyecto requiere un nivel de pago.
Importante
En este ejemplo introductorio se habilita el punto de conexión público para que pueda aprovisionar el recurso sin agregar infraestructura de red. Antes de usar este patrón en producción, evalúe los puntos de conexión privados, los controles de acceso a la red, la supervisión y los requisitos de seguridad de la organización.
Hacer referencia al módulo desde main.bicep
La hello-azd plantilla define el rg grupo de recursos, location, tagsy resourceToken los valores de infra/main.bicep. Puede realizar esta edición manualmente o pedir a un asistente de IA que lo agregue. Agregue el siguiente módulo después de la declaración de rg recursos:
module translator './translator.bicep' = {
name: 'translator'
scope: rg
params: {
name: 'translator-${resourceToken}'
location: location
tags: tags
}
}
La scope propiedad implementa el módulo en el grupo de recursos que crea la plantilla. El valor existente resourceToken hace que el nombre de recurso de Translator sea distinto para cada entorno.
Exportación de las salidas de Translator
Agregue las siguientes salidas al final de infra/main.bicep:
output AZURE_TRANSLATOR_NAME string = translator.outputs.name
output AZURE_TRANSLATOR_ENDPOINT string = translator.outputs.endpoint
Después del aprovisionamiento, azd captura estos resultados no secretos en el entorno activo. Un cambio de código de aplicación posterior puede usar estos valores para buscar el recurso translator.
Aprovisionamiento y comprobación de la infraestructura
Aprovisione la infraestructura de la plantilla sin implementar su código de aplicación:
azd provision
Ejecute azd env get-values y confirme que la salida incluye AZURE_TRANSLATOR_NAME y AZURE_TRANSLATOR_ENDPOINT. En el portal de Azure, compruebe que el grupo de recursos contiene un recurso Azure Translator.
En este momento, la plantilla aprovisiona el servicio de IA, pero no conecta la aplicación de ejemplo a ella. Para completar esa integración, configure el acceso con privilegios mínimos para la identidad administrada de la aplicación, pase el punto de conexión a la aplicación y agregue un cliente de Translator al código de la aplicación. Para obtener más información, consulte la documentación de Azure Translator.
Limpieza de recursos
Cuando ya no necesite los recursos, elimínelos para evitar cargos continuos:
azd down --purge
Contenido relacionado
- Información general sobre el desarrollo de plantillas
- Empezar con una nueva plantilla
- Inicio desde una plantilla existente
- Exploración y edición de archivos de plantilla
Solicitar ayuda
Para obtener información sobre cómo archivar un error, solicitar ayuda o proponer una nueva característica para la CLI para desarrolladores de Azure, visite la página troubleshooting and support.