Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Dit artikel bevat oplossingen voor veelvoorkomende problemen die zich kunnen voordoen wanneer u Azure Developer CLI (azd) gebruikt.
Hulp vragen en feedback geven
Als u niet kunt vinden wat u zoekt in dit artikel of als u feedback wilt geven, kunt u vragen posten in Azure Developer CLI-discussies.
U kunt ook fouten melden door GitHub-problemen te openen in de GitHub-opslagplaats van Azure Developer CLI.
--debug De schakeloptie gebruiken
Als er een onverwacht probleem optreedt tijdens het werken met azd, voert u de opdracht opnieuw uit met de --debug schakeloptie om meer debugging en diagnostische uitvoer in te schakelen.
azd up --debug
U kunt de foutopsporingsuitvoer ook naar een lokaal tekstbestand verzenden om de bruikbaarheid te verbeteren. Met deze aanpak kunnen andere bewakingssystemen de foutopsporing opnemen en kunnen ze ook nuttig zijn bij het indienen van een probleem op GitHub.
Belangrijk
Zorg ervoor dat u gevoelige informatie verwijdert of anonimiseert bij het verzenden van debuglogs op GitHub of wanneer u ze opslaat in andere diagnostische systemen.
azd deploy --debug > "<your-file-path>.txt"
De .azure map
Azure Developer CLI gaat ervan uit dat mappen die zijn opgeslagen in de .azure map Azure Developer CLI-omgevingen zijn. Voer azure Developer CLI-opdrachten niet uit vanuit de basismap van een gebruiker waarop de Azure CLI is geïnstalleerd.
Niet aangemeld bij Azure of token verlopen in Visual Studio
Nadat u in Visual Studio hebt uitgevoerd azd init -t <template-name> , krijgt u de volgende fout: 'Voor toegang tot externe toegang: deze opslagplaats moet u de OAuth-toepassing Visual Studioopnieuw autoriseren'.
Oplossing
Voer deze opdracht uit azd auth login om het toegangstoken te vernieuwen.
Bijgewerkte machtigingen voor Azure-accounts worden niet bijgewerkt in azd
azd Standaard worden uw Azure-referenties en -machtigingen in de cache opgeslagen. Als er nieuwe rollen en machtigingen aan uw Azure-account zijn toegewezen of aan meer abonnementen worden toegevoegd, worden deze wijzigingen mogelijk niet onmiddellijk doorgevoerd in azd. Als u dit probleem wilt oplossen, meldt u zich af en meldt u zich vervolgens weer aan azd met behulp van de volgende opdrachten:
azd auth logout
azd auth login
Volg de aanwijzingen van de opdracht om het aanmeldingsproces te voltooien en uw referenties in de azd auth login cache bij te werken.
Cloud Shell-beperkingen voor azd
Er zijn enkele beperkingen voor het uitvoeren azd in Cloud Shell:
Docker-ondersteuning in Cloud Shell
Cloud Shell biedt geen ondersteuning voor het uitvoeren van docker build of run opdrachten omdat de docker-daemon niet wordt uitgevoerd. Zie Problemen met Cloud Shell oplossen voor meer informatie.
Time-out voor Cloud Shell
Cloud Shell kan een time-out krijgen tijdens een lange uitrol of andere langdurige taken. Zorg ervoor dat de sessie niet inactief wordt. Zie Cloud Shell-gebruikslimieten.
Cloud Shell-interface
Cloud Shell is voornamelijk een opdrachtregelinterface en heeft minder functies dan een geïntegreerde ontwikkelomgeving zoals Visual Studio Code.
Kan geen verbinding maken met de Docker-daemon in Cloud Shell
Cloud Shell gebruikt een container om uw shell-omgeving te hosten, zodat taken waarvoor de Docker-daemon moet worden uitgevoerd, niet zijn toegestaan.
Verschillende versie van azd installeren in Cloud Shell
In sommige gevallen kan het nodig zijn om een andere versie azd te installeren dan de versie die al in Cloud Shell wordt gebruikt. Ga als volgt te werk om dit in bash te doen:
- Uitvoeren
mkdir -p ~/binom ervoor te zorgen dat de~/binmap aanwezig is - Uitvoeren
mkdir -p ~/azdom ervoor te zorgen dat er een lokale~/azdmap aanwezig is - Voer
curl -fsSL https://aka.ms/install-azd.sh | bash -s -- --install-folder ~/azd --symlink-folder ~/bin --version <version>uit (<version>isstablestandaard, maar een specifieke uitgebrachte versie kan ook1.0.0opgegeven worden).
Zodra de versie van azd symbolisch gekoppeld is in ~/bin, krijgt deze voorrang boven de versie die symbolisch gekoppeld is in azd van /usr/local/bin.
Ga als volgt te werk om terug te keren naar de versie van azd die al op Cloud Shell is geïnstalleerd voor gebruik in bash:
- Voer
rm ~/bin/azduit - Voer
rm -rf ~/azduit
Oplossing
Gebruik een andere host om taken uit te voeren waarvoor de Docker-daemon is vereist. Een optie is om docker-machine te gebruiken, zoals beschreven in de documentatie voor het oplossen van problemen met Cloud Shell .
Azure Bicep CLI-vereiste
azd up en azd provision vereist de nieuwste versie van Azure Bicep CLI. Mogelijk krijgt u het volgende foutbericht: 'Fout: kan bicep-sjabloon niet compileren: De bicep-build van de Az PowerShell-module is mislukt: afsluitcode: 1, stdout: , stderr: WAARSCHUWING: er is een nieuwe Bicep-release beschikbaar: v0.4.1272.'
Oplossing
Voorheen was Bicep een vereiste voor het installeren en gebruiken van azd .
azd installeert bicep nu automatisch binnen het lokale azd bereik (niet wereldwijd) en dit probleem moet nu worden opgelost. Als u echter een andere versie wilt gebruiken, kunt u de omgevingsvariabele instellen: AZD_BICEP_TOOL_PATH om te verwijzen naar de locatie van de versie die u nodig hebt.
azd up of azd provision mislukt
Dingen kunnen soms misgaan met azd up of azd provision. Veelvoorkomende fouten zijn:
- 'Kan bepaalde resources niet inrichten in een Azure-regio omdat de regio geen capaciteit heeft.'
- 'Relevante resource-aanbieder is niet aanwezig in die regio.'
De stappen voor probleemoplossing kunnen verschillen, afhankelijk van de hoofdoorzaak.
Oplossing
Ga naar Azure Portal.
Zoek de resourcegroep, die rg-your-environment-name<> is.
Selecteer Implementaties voor meer informatie.
Controleer of u een omgevingsnaam hebt opgegeven die hetzelfde is als uw omgevingsnaam.
Ga naar het tabblad Acties van de betrokken GitHub-opslagplaats en onderzoek het logboekbestand in de pijplijnuitvoering voor meer informatie.
Zie Veelvoorkomende Azure-implementatiefouten oplossen - Azure Resource Manager-voor andere resources.
azd init vereist sudo
Voordat azd version = azure-dev-cli_0.2.0-beta.1, zou azd een .azd map met drw-r--r-- toegang aanmaken.
Dit veroorzaakt een probleem, omdat het gebruik van deze of een eerdere versie op een Linux-installatie (WSL, ssh-remote, devcontainer, enzovoort) al een .azd map met de modus Alleen-lezen biedt.
Oplossing
Verwijder de reeds opgegeven
.azdmap handmatig:rm -r ~/.azdVoer
azd initvoorazduit om de map opnieuw te maken met de juiste toegangsniveaus.
azd monitor voor ontwikkelcontainer
azd monitor wordt momenteel niet ondersteund als u een ontwikkelcontainer als uw ontwikkelomgeving gebruikt.
Kan niet verifiëren in Codespaces-omgevingen
Als u verificatieproblemen ondervindt in Codespaces, controleert u of de sjabloon Dockerfile de sudo apt-get update && sudo apt-get install xdg-utils opdrachten bevat. Met de xdg-utils opdracht wordt een browsertabblad geopend waarmee u zich kunt aanmelden.
Static Web Apps kan niet worden geïmplementeerd ondanks het succesbericht
Er bestaat een bekend probleem bij het implementeren in Azure Static Web Apps waarin de standaarduitvoer azd up kan aangeven dat de actie is geslaagd, maar de wijzigingen zijn niet daadwerkelijk geïmplementeerd. U kunt dit probleem vaststellen door de azd up opdracht uit te voeren waarvoor de --debug vlag is ingeschakeld. In de uitvoerlogboeken ziet u mogelijk het volgende bericht:
Preparing deployment. Please wait...
An unknown exception has occurred
U ondervindt dit probleem waarschijnlijk wanneer azd deze wordt uitgevoerd vanuit een GitHub-actie. Als tijdelijke oplossing kopieert u na het bouwen van uw site staticwebapp.config.json naar de buildmap. U kunt deze stap automatiseren met behulp van een prepackage- of predeploy-opdrachthook, waarmee u aangepaste scripts kunt uitvoeren op verschillende punten in de azd-opdrachtwerkstromen.
Het productteam probeert dit probleem op te lossen.
GitHub Actions-fout: "Heeft geen machtigingen voor het ophalen van geheimen voor Key Vault"
Het delen van dezelfde omgevings- of resourcegroepnaam bij het lokaal inrichten van resources en in GitHub Actions kan de fout Does not have secrets get permission on key vault.. van de Key Vault-service veroorzaken. Key Vault biedt geen ondersteuning voor incrementele machtigingenupdates via Bicep. Dit betekent dat de GitHub Actions-werkstroom de machtigingen voor toegangsbeleid van de lokale gebruiker overschrijft.
De aanbevolen oplossing voor dit probleem is het gebruik van afzonderlijke omgevingsnamen voor lokale ontwikkeling en GitHub Actions-werkstromen. Lees meer over het gebruik van meerdere omgevingen met de azd env opdracht op de pagina Veelgestelde vragen.
Ondersteuning voor browser op basis van tekst
Op tekst gebaseerde browsers worden momenteel niet ondersteund door azd monitor.
azd pipeline config AzDo voor Java-sjablonen gebruiken in Windows
Er kan een fout optreden bij het uitvoeren azd pipeline config met AzDo voor Java-sjablonen in Windows. U hebt bijvoorbeeld:
Voer het volgende uit in Windows:
azd init --template Azure-Samples/todo-java-mongo azd pipeline configDe volgende fout is ontvangen:
Oplossing
Dit is een bekend probleem. Probeer de volgende opdracht terwijl we dit probleem oplossen:
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 mislukt na het upgraden azd op Apple Silicon (M1/M2)
In sommige situaties kan het upgraden van de x86_64 versie van azd een ARM64 binair bestand leiden tot fouten voor sjablonen die zijn gebouwd met de x86_64 versie van azd. Dit komt doordat de sjabloon gebruikmaakt van v8-compile-cache een versie waarvan kan worden geprobeerd bytecode te laden die is gebouwd onder x86_64 in een ARM64-proces.
Als u dit probleem wilt oplossen, voert u een upgrade uit van het v8-compile-cache pakket in het betrokken project:
- Verander de map naar de service die is mislukt (
src/apiin het geval vanfailed packaging service 'api') - Voer
npm upgrade v8-compile-cacheuit - Ga naar de hoofdmap van de opslagplaats en voer de opdracht
azdopnieuw uit (bijvoorbeeldazd packageofazd up)
azd pipeline config mislukt vanwege beleid voor voorwaardelijke toegang
Wanneer u azd pipeline config uitvoert, kunt u een foutbericht ontvangen zoals het volgende:
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"}
Deze fout is gerelateerd aan het inschakelen van uw Microsoft Entra-tenantbeleid voor voorwaardelijke toegang. Voor het specifieke beleid moet u zijn aangemeld bij een ondersteund apparaatplatform.
Mogelijk ontvangt u deze fout ook omdat u bent aangemeld met behulp van het mechanisme voor apparaatcode, waardoor Microsoft Entra ID uw apparaatplatform niet correct detecteert.
Oplossing
Als u de werkstroom wilt configureren, moet u GitHub toestemming geven om namens u te implementeren in Azure. Autoriseer GitHub door een Azure-service-principal te maken die is opgeslagen in een GitHub-geheim met de naam AZURE_CREDENTIALS. Selecteer uw Codespace-host voor stappen:
Zorg ervoor dat u werkt op een apparaat dat wordt vermeld als ondersteund, volgens het foutbericht.
Voer opnieuw uit
azd auth loginmet de vlag--use-device-code=falsetoegevoegd:azd auth login --use-device-code=falseMogelijk krijgt u een foutbericht met een bericht
localhost refused to connectnadat u zich hebt aangemeld. Zo ja:- Kopieer de URL.
- Voer
curl '<pasted url>'(URL tussen aanhalingstekens) uit in een nieuwe Codespaces-terminal.
In de oorspronkelijke terminal moet de aanmelding nu slagen.
Nadat u zich hebt aangemeld, voert u
azd pipeline configopnieuw uit.
Dockerfile in cache gebruikt in plaats van het huidige Dockerfile
azd Wanneer u in uw lokale ontwikkelomgeving met Docker werkt, kan Docker de in de cache opgeslagen versie van uw Dockerfile gebruiken in plaats van de huidige versie. Dit resulteert in de implementatie met behulp van een container met onjuiste informatie.
Oplossing
Als u uw lokale Docker-installatie wilt configureren die wordt gebruikt door Azure Developer CLI om de container te bouwen, moet u Docker configureren met de volgende omgevingsvariabelen:
DOCKER_BUILDKIT=1
DOCKER_BUILD_ARGS="--no-cache"
U kunt uw azd up veranderen zodat deze instellingen worden opgenomen.
DOCKER_BUILDKIT=1 DOCKER_BUILD_ARGS="--no-cache" azd up
ondersteuning voor azd pipeline config
azd pipeline config wordt momenteel niet ondersteund in DevContainers/VS Code Remote Containers.
Functieproblemen bij Compose
De azd functie opstellen is alleen beschikbaar voor specifieke projecttypen. Als u opstelopdrachten zoals azd add of azd infra gen in een niet-ondersteunde context probeert te gebruiken, kunnen de volgende fouten optreden.
Incompatibel project
Als u een ERROR: incompatible project bericht ziet bij het uitvoeren van de azd add opdracht, controleert u het type project waarmee u werkt. De azd add opdracht wordt niet ondersteund voor .NET Aspire-projecten of voor azd sjablonen waarvoor al een infra map is gedefinieerd. Als u probeert te gebruiken azd add met deze projecttypen, ontstaan er fouten zoals:
FOUT: incompatibel project: host van de Aspire-app gevonden
FOUT: onverenigbaar project: infradirectory en een azure.yaml gevonden zonder resources
Een schermafbeelding van de incompatibele .NET Aspire-projectfout.
Project bevat geen infrastructuur om te genereren
De fout ERROR: this project does not contain any infrastructure to generate treedt op wanneer:
- U voert
azd infra genuit zonder compose-resources gedefinieerd in uw project. - In .NET Aspire-projecten kan deze fout ook worden weergegeven als
azdeen Aspire App Host niet kan worden gedetecteerd in de huidige map.
U kunt deze fout oplossen door azd add nieuwe resources toe te voegen voordat u uw .NET Aspire-project uitvoert azd infra gen of ervoor te zorgen dat uw .NET Aspire-project correct is gestructureerd.
Fout bij het oplossen van een Azure-resource
De opdracht azd show <name> kan mislukken met de volgende fout: ERROR: resolving '<name>': AZURE_RESOURCE_<NAME>_ID is not set as an output variable. Dit kan een aantal redenen hebben:
- De resource
<name>bestaat niet inazure.yamlonder de resources: node. - De resource
<name>is nog niet geconfigureerd.
Een schermopname van de Azure-resourcefout.
Oplossing
Voer azd up uit om de resources in te richten. Mogelijk moet u eerst azd infra gen uitvoeren om de bijgewerkte Bicep inclusief de resource <name> te genereren en vervolgens azd up uitvoeren.
Ondersteuning voor live metrische gegevens voor Python
Live Metrics (azd monitor --live) wordt momenteel niet ondersteund voor Python-apps. Zie Live metrische gegevens: bewaken en diagnosticeren met latentie van 1 seconde voor meer informatie.
Een GitHub-probleem maken om hulp te vragen
De Azure Developer CLI en de Azure Developer CLI Visual Studio Code-extensie gebruiken GitHub Issues om bugs en functieaanvragen bij te houden. Zoek de bestaande problemen voordat u nieuwe problemen indient om dubbele items te voorkomen.
Raadpleeg onze wiki voor hulp en vragen over het gebruik van dit project voor het gebruik van Azure Developer CLI en ons BIJDRAGEN-document als u een bijdrage wilt leveren.