Nota
O acceso a esta páxina require autorización. Pode tentar iniciar sesión ou modificar os directorios.
O acceso a esta páxina require autorización. Pode tentar modificar os directorios.
En este artículo se proporcionan soluciones a problemas comunes que pueden surgir al usar la CLI para desarrolladores de Azure (azd).
Obtención de ayuda y ofrecimiento de comentarios
Si no puede encontrar lo que busca en este artículo o desea proporcionar comentarios, puede publicar preguntas en discusiones de la CLI para desarrolladores de Azure.
También puede notificar errores abriendo Problemas de GitHub en el repositorio de GitHub de la CLI para desarrolladores de Azure.
Uso del modificador --debug
Si se produce un problema inesperado al trabajar con azd, vuelva a ejecutar el comando con la opción --debug para habilitar información adicional de depuración y diagnóstico.
azd up --debug
También puede enviar la salida de depuración a un archivo de texto local para mejorar la facilidad de uso. Este enfoque permite que otros sistemas de supervisión incorporen la depuración y también puede ser útil al reportar un problema en GitHub.
Importante
Asegúrese de censurar cualquier información confidencial al enviar registros de depuración en GitHub o guardarlos en otros sistemas de diagnóstico.
azd deploy --debug > "<your-file-path>.txt"
Directorio .azure
La CLI para desarrolladores de Azure asume que cualquier directorio almacenado en el directorio .azure es un entorno de la CLI para desarrolladores de Azure. No ejecute comandos de la CLI para desarrolladores de Azure desde el directorio principal de un usuario que tenga instalada la CLI de Azure.
No ha iniciado sesión en Azure o ha expirado el token en Visual Studio
Después de ejecutar azd init -t <template-name> en Visual Studio, obtendrá el siguiente error: "Para acceder a remote: este repositorio, debe volver a autorizar la aplicación Visual StudioOAuth ".
Solución
Ejecute azd auth login para actualizar el token de acceso.
Los permisos de cuenta de Azure actualizados no se actualizan en azd
De forma predeterminada, azd almacena en caché las credenciales y los permisos de Azure. Si a su cuenta de Azure se le asignan nuevos roles y permisos, o se agrega a más suscripciones, es posible que estos cambios no se reflejen inmediatamente en azd. Para resolver este problema, cierre sesión y luego vuelva a iniciar sesión en azd con los siguientes comandos:
azd auth logout
azd auth login
Siga las indicaciones del azd auth login comando para completar el proceso de inicio de sesión y actualizar las credenciales almacenadas en caché.
Limitaciones de Cloud Shell para azd
Hay algunas limitaciones para ejecutar azd en Cloud Shell.
Compatibilidad con Docker en Cloud Shell
Cloud Shell no admite la ejecución de comandos Docker build o run porque el demonio de Docker no se está ejecutando. Para más información, consulte Solución de problemas de Cloud Shell.
Límite de tiempo de Cloud Shell
Cloud Shell puede agotar el tiempo de espera durante una implementación larga u otras tareas de larga duración. Asegúrese de que la sesión no esté inactiva. Consulte Límites de uso de Cloud Shell.
Interfaz de Cloud Shell
Cloud Shell es principalmente una interfaz de línea de comandos y tiene menos características que un entorno de desarrollo integrado como Visual Studio Code.
No se puede establecer conexión con el demonio de Docker en Cloud Shell
Cloud Shell usa un contenedor para hospedar el entorno de consola, por lo que no se permiten las tareas que requieren ejecutar el demonio de Docker.
Instalación de una versión diferente de azd en Cloud Shell
En algunos casos, puede ser necesario instalar una versión diferente de azd que la versión que ya está en uso en Cloud Shell. Para hacerlo en Bash:
- Ejecute
mkdir -p ~/binpara asegurarse de que la~/bincarpeta está presente - Ejecute
mkdir -p ~/azdpara asegurarse de que hay una carpeta local~/azdpresente - Ejecutar
curl -fsSL https://aka.ms/install-azd.sh | bash -s -- --install-folder ~/azd --symlink-folder ~/bin --version <version>(<version>seríastablede forma predeterminada, pero también se puede especificar una versión publicada específica como1.0.0).
Una vez instalada, la versión de azd vinculada simbólicamente en ~/bin tiene prioridad sobre la versión de azd vinculada simbólicamente en /usr/local/bin.
Para volver a usar la versión de azd ya instalada en Cloud Shell en Bash:
- Ejecute
rm ~/bin/azd: - Ejecute
rm -rf ~/azd:
Solución
Utiliza otro host para realizar tareas que necesiten del daemon de Docker. Una opción es usar docker-machine, como se describe en la documentación de solución de problemas de Cloud Shell .
Requisito para la herramienta CLI de Azure Bicep
azd up y azd provision requieren la versión más reciente de la CLI de Azure Bicep. Es posible que reciba el siguiente mensaje de error: "Error: no se pudo compilar la plantilla de bicep: error al ejecutar la compilación de Bicep del módulo de PowerShell: código de salida: 1, stdout: , stderr: ADVERTENCIA: hay disponible una nueva versión de Bicep: v0.4.1272".
Solución
Anteriormente, Bicep era un requisito previo para poder instalar y usar azd . azd ahora instala Bicep automáticamente dentro del ámbito local azd (no globalmente) y este problema ahora debe resolverse. Sin embargo, si desea usar una versión diferente, puede establecer la variable de entorno: AZD_BICEP_TOOL_PATH para que apunte a la ubicación de la versión que necesita.
azd up o azd provision falla
**
A veces, las cosas pueden salir mal con azd up o azd provision. Estos son algunos de los errores comunes:
- "No se pueden aprovisionar determinados recursos en una región de Azure porque la región está fuera de capacidad".
- "El proveedor de recursos relevante no está presente en esa región".
Los pasos de solución de problemas pueden diferir, en función de la causa principal.
Solución
Vaya a Azure Portal.
Busque el grupo de recursos, que es rg-<your-environment-name>.
Seleccione Implementaciones para obtener más información.
Verifique que especificó un nombre de entorno que coincida con su nombre de entorno.
Vaya a la pestaña Acciones del repositorio de GitHub afectado e investigue el archivo de registro en la ejecución de la canalización para obtener más información.
Para otros recursos, consulte Solución de errores comunes de implementación de Azure: Azure Resource Manager.
azd init Requiere sudo
Antes de azd version = azure-dev-cli_0.2.0-beta.1, azd crearía una .azd carpeta con drw-r--r-- acceso.
Esto provoca un problema, ya que el uso de esta o cualquier versión anterior en cualquier configuración de Linux (WSL, ssh-remote, devcontainer, etc.) ya proporciona una .azd carpeta con modo de solo lectura.
Solución
Elimine manualmente la carpeta ya proporcionada
.azd:rm -r ~/.azdEjecute
azd initpara queazdvuelva a crear la carpeta con los niveles de acceso adecuados.
azd monitor para contenedor de desarrollo
Actualmente, azd monitor no es compatible si utiliza un contenedor de desarrollo como su entorno de desarrollo.
No se puede autenticar en entornos de Codespaces
Si experimenta problemas de autenticación en Codespaces, asegúrese de que la plantilla Dockerfile incluye los sudo apt-get update && sudo apt-get install xdg-utils comandos. El xdg-utils comando abre una pestaña del explorador que le permite iniciar sesión.
Las Aplicaciones Web Estáticas fallan al desplegarse a pesar del mensaje de éxito
Existe un problema conocido al implementar en Azure Static Web Apps en el que la salida predeterminada azd up puede indicar que la acción se realizó correctamente, pero los cambios no se implementaron realmente. Para diagnosticar este problema, ejecute el azd up comando con la --debug marca habilitada. En los registros de salida puede ver el mensaje siguiente:
Preparing deployment. Please wait...
An unknown exception has occurred
Es más probable que encuentre este problema cuando azd se ejecuta desde una acción de GitHub. Como solución alternativa, después de compilar el sitio, copie staticwebapp.config.json en la carpeta de compilación. Puede automatizar este paso mediante un gancho de comando de preempaquetado o de predespliegue, lo que le permite ejecutar scripts personalizados en varios puntos de los flujos de trabajo de comandos azd.
El equipo del producto está trabajando para resolver este problema.
Error de Acciones de GitHub: "No tiene permiso para obtener secretos en la bóveda de claves"
Compartir el mismo nombre de entorno o grupo de recursos al aprovisionar recursos localmente y en Acciones de GitHub puede producir el error Does not have secrets get permission on key vault.. del servicio Key Vault. Key Vault no admite actualizaciones de permisos incrementales a través de Bicep, lo que significa que el flujo de trabajo de Acciones de GitHub sobrescribe los permisos de directiva de acceso del usuario local.
La solución recomendada para este problema es usar nombres de entorno independientes para flujos de trabajo de Acciones de GitHub y desarrollo local. Obtenga más información sobre el uso de varios entornos con el azd env comando en la página de preguntas más frecuentes.
Compatibilidad con exploradores basados en texto
Actualmente, los exploradores basados en texto no son compatibles con azd monitor.
azd pipeline config uso de AzDo para plantillas de Java en Windows
Es posible que se produzca un error al ejecutar azd pipeline config con AzDo para plantillas de Java en Windows. Por ejemplo, usted ha:
Ejecute lo siguiente en Windows:
azd init --template Azure-Samples/todo-java-mongo azd pipeline configRecibió el siguiente error:
Solución
Se trata de un problema conocido. Mientras solucionamos este problema, pruebe el siguiente comando:
git update-index --chmod=+x src/api/mvnw && git commit -m "Fix executable bit permissions" && git push
failed packaging service 'api': failed invoking action 'package', failed to run NPM script build, signal: segmentation fault error después de actualizar azd en Apple Silicon (M1/M2)
En algunas situaciones, la actualización de la versión de x86_64 de azd a un binario ARM64 puede producir errores en las plantillas que se han compilado con la versión de x86_64 de azd. Esto se debe a que la plantilla usa una versión de v8-compile-cache que puede intentar cargar bytecode integrado en x86_64 en un proceso Arm64.
Para corregir este problema, actualice el v8-compile-cache paquete en el proyecto afectado:
- Cambie el directorio al servicio que produjo un error (
src/apien el caso defailed packaging service 'api') - Ejecute
npm upgrade v8-compile-cache: - Cambie el directorio a la raíz del repositorio y vuelva a ejecutar el
azdcomando (por ejemploazd package, oazd up)
azd pipeline config error debido a la directiva de acceso condicional
Al ejecutar azd pipeline config, puede recibir un error similar al siguiente:
ERROR: failed to create or update service principal: failed retrieving application list, failed executing request: http call(https://login.microsoftonline.com/common/oauth2/v2.0/token)(POST) error: reply status code was 400:
{"error":"invalid_grant","error_description":"AADSTS50005: User tried to log in to a device from a platform (Unknown) that's currently not supported through Conditional Access policy. Supported device platforms are: iOS, Android, Mac, and Windows flavors.\r\nTrace ID: 0000aaaa-11bb-cccc-dd22-eeeeee333333\r\nCorrelation ID: aaaa0000-bb11-2222-33cc-444444dddddd\r\nTimestamp: 2022-12-16 21:10:37Z","error_codes":[50005],"timestamp":"2022-12-16 21:10:37Z","trace_id":"0000aaaa-11bb-cccc-dd22-eeeeee333333","correlation_id":"aaaa0000-bb11-2222-33cc-444444dddddd"}
Este error está relacionado con la habilitación del inquilino de Microsoft Entra de las directivas de acceso condicional. La directiva específica requiere que haya iniciado sesión en una plataforma de dispositivo compatible.
También puede recibir este error debido a que se ha iniciado sesión con el mecanismo de código del dispositivo, lo que impide que Microsoft Entra ID detecte correctamente la plataforma del dispositivo.
Solución
Para configurar el flujo de trabajo, deberá conceder a GitHub permiso para implementar en Azure en su nombre. Autorice a GitHub mediante la creación de una entidad de servicio de Azure almacenada en un secreto de GitHub denominado AZURE_CREDENTIALS. Seleccione el host de Codespace para conocer los pasos:
Asegúrese de que se ejecuta en un dispositivo que aparece como compatible, según el mensaje de error.
Vuelva a ejecutar
azd auth logincon la marca--use-device-code=falseanexada:azd auth login --use-device-code=falsePuede recibir un error con el mensaje
localhost refused to connectdespués de iniciar sesión. Si es así:- Copie la dirección URL.
- Ejecute
curl '<pasted url>'(dirección URL entre comillas) en un nuevo terminal de Codespaces.
En el terminal original, el inicio de sesión ahora debería realizarse correctamente.
Después de iniciar sesión, vuelva a ejecutar
azd pipeline config.
Dockerfile almacenado en caché usado en lugar de Dockerfile actual
Al usar azd en el entorno de desarrollo local con Docker, Docker puede usar la versión almacenada en caché de dockerfile en lugar de la versión actual. Esto da como resultado la implementación mediante un contenedor con información incorrecta.
Solución
Para configurar la instalación local de Docker, que usa la CLI para desarrolladores de Azure para compilar el contenedor, debe configurar Docker con las siguientes variables de entorno:
DOCKER_BUILDKIT=1
DOCKER_BUILD_ARGS="--no-cache"
Puede cambiar azd up para incluir esta configuración:
DOCKER_BUILDKIT=1 DOCKER_BUILD_ARGS="--no-cache" azd up
azd pipeline config soporte técnico.
azd pipeline config actualmente no se admite en Contenedores remotos de DevContainers/VS Code.
Errores de la función de composición
La azd característica de redacción solo está disponible para tipos de proyecto específicos. Si intenta usar comandos de redacción como azd add o azd infra gen en un contexto no admitido, puede encontrar los siguientes errores.
Proyecto incompatible
Si ve un ERROR: incompatible project mensaje al ejecutar el azd add comando, compruebe el tipo de proyecto con el que está trabajando. El azd add comando no se admite para proyectos de .NET Aspire ni para azd plantillas que ya tienen definida una infra carpeta. Si intenta usar azd add con estos tipos de proyecto, se producirán errores como:
ERROR: proyecto incompatible: se encontró Aspire App Host
ERROR: proyecto incompatible: se encontró el directorio de infraestructura y azure.yaml sin recursos.
El proyecto no contiene la infraestructura necesaria para generar
El error ERROR: this project does not contain any infrastructure to generate se produce cuando:
- Ejecuta
azd infra gensin ningún recurso de Compose definido en tu proyecto. - En los proyectos de .NET Aspire, este error también puede aparecer si
azdno puede detectar un host de aplicación Aspire en el directorio actual.
Para resolver este error, use azd add para agregar nuevos recursos antes de ejecutar azd infra gen o asegurarse de que el proyecto de .NET Aspire esté estructurado correctamente.
Error al resolver el recurso de Azure
Es posible que se produzca un error en el comando azd show <name> : ERROR: resolving '<name>': AZURE_RESOURCE_<NAME>_ID is not set as an output variable. Esto puede ocurrir por varias razones:
- El recurso
<name>no existe enazure.yamlen el nodo de recursos: - El recurso
<name>aún no se ha aprovisionado.
Solución
Ejecute azd up para aprovisionar los recursos. Es posible que tenga que ejecutar azd infra gen primero para generar el Bicep actualizado, incluido el recurso <name>, y luego ejecutar azd up.
Compatibilidad con métricas dinámicas para Python
Live Metrics (azd monitor --live) no se admite actualmente para las aplicaciones de Python. Para obtener más información, consulte Live Metrics: supervisión y diagnóstico con 1 segundo de latencia.
Creación de un problema de GitHub para solicitar ayuda
La CLI para desarrolladores de Azure y la extensión visual Studio Code de la CLI para desarrolladores de Azure usan problemas de GitHub para realizar un seguimiento de errores y solicitudes de características. Busque los problemas existentes antes de presentar nuevos problemas para evitar duplicados.
Para obtener ayuda y preguntas sobre el uso de este proyecto, consulte nuestra wiki para usar la CLI para desarrolladores de Azure y nuestro documento de CONTRIBUCIÓN si desea contribuir.