Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tento článek obsahuje řešení běžných problémů, ke kterým může dojít, když používáte Azure Developer CLI (azd).
Získání nápovědy a poskytnutí zpětné vazby
Pokud v tomto článku nemůžete najít, co hledáte, nebo chcete poskytnout zpětnou vazbu, můžete do diskuzí v Azure Developer CLI publikovat otázky.
Chyby můžete také hlásit tak, že otevřete Problémy GitHubu v úložišti Azure Developer CLI na GitHubu.
Použití --debug
přepínače
Pokud při práci azd
narazíte na neočekávaný problém, spusťte příkaz znovu s --debug
přepínačem a povolte další ladění a diagnostický výstup.
azd up --debug
Můžete také odeslat výstup ladění do místního textového souboru, aby se zlepšila použitelnost. Tento přístup umožňuje ostatním monitorovacím systémům přijímat nástroje pro ladění a může být také užitečný při hlášení problému na GitHubu.
Důležité
Nezapomeňte odstranit všechny citlivé informace při odesílání protokolů ladění na GitHub nebo při jejich ukládání do jiných diagnostických systémů.
azd deploy --debug > "<your-file-path>.txt"
Adresář .azure
Azure Developer CLI předpokládá, že všechny adresáře uložené v .azure
adresáři jsou prostředí Azure Developer CLI. Nespouštějte příkazy Azure Developer CLI z domovského adresáře uživatele, který má nainstalované Azure CLI.
Nebyli jste přihlášeni do Azure nebo ve Visual Studio vypršela platnost tokenu
Po spuštění azd init -t <template-name>
v sadě Visual Studio se objeví následující chyba: "Pro přístup k vzdálenému úložišti musíte znovu autorizovat aplikaci OAuth Visual Studio
."
Řešení
Spusťte azd auth login
aktualizaci přístupového tokenu.
Aktualizovaná oprávnění účtu Azure se neaktualizují v azd
Ve výchozím nastavení azd
ukládá vaše přihlašovací údaje a oprávnění Azure do mezipaměti. Pokud je vašemu účtu Azure přiřazeny nové role a oprávnění nebo se přidají do dalších předplatných, tyto změny se nemusí okamžitě promítnout do azd
. Pokud chcete tento problém vyřešit, odhlaste se a pak se znovu přihlaste pomocí azd
následujících příkazů:
azd auth logout
azd auth login
Podle pokynů z azd auth login
příkazu dokončete proces přihlášení a aktualizujte přihlašovací údaje uložené v mezipaměti.
Omezení Cloud Shellu pro azd
V Cloud Shellu azd
platí určitá omezení:
Podpora Dockeru v Cloud Shellu
Cloud Shell nepodporuje spouštění dockeru build
nebo run
příkazů, protože démon Dockeru není spuštěný. Další informace najdete v tématu Řešení potíží s Cloud Shellem.
Časový limit Cloud Shellu
Cloud Shell může vypršet časový limit během dlouhého nasazení nebo jiných dlouhotrvajících úloh. Ujistěte se, aby sezení nezůstalo nečinné. Viz omezení využití Cloud Shellu.
Rozhraní Cloud Shellu
Cloud Shell je primárně rozhraní příkazového řádku a má méně funkcí než integrované vývojové prostředí, jako je Visual Studio Code.
Nejde se připojit k démonu Dockeru v Cloud Shellu
Cloud Shell používá k hostování prostředí kontejner, takže úlohy, které vyžadují spuštění démona Dockeru, nejsou povolené.
Instalace jiné verze AZD v Cloud Shellu
V některých případech může být nutné nainstalovat jinou verzi azd
, než je verze, která se už používá v Cloud Shellu. Postup v Bash:
- Spusťte
mkdir -p ~/bin
, abyste zajistili, že složka~/bin
je přítomna. - Spusťte
mkdir -p ~/azd
a ujistěte se, že je k dispozici místní složka~/azd
. - Spustit
curl -fsSL https://aka.ms/install-azd.sh | bash -s -- --install-folder ~/azd --symlink-folder ~/bin --version <version>
(<version>
by bylo ve výchozím nastavení, ale je možné zadat také konkrétní vydanou verzi jakostable
).
Po instalaci má verze azd
, která je symbolicky propojená v ~/bin
, přednost před verzí azd
, symbolicky propojenou v /usr/local/bin
.
Pokud se chcete vrátit k používání verze azd
už nainstalované v Cloud Shellu v Bash:
- Spusťte příkaz
rm ~/bin/azd
. - Spusťte příkaz
rm -rf ~/azd
.
Řešení
K provádění úloh, které vyžadují démona Dockeru, použijte jiného hostitele. Jednou z možností je použít docker-machine, jak je popsáno v dokumentaci k řešení potíží s Cloud Shellem .
Požadavek rozhraní příkazového řádku Azure Bicep
azd up
a azd provision
vyžadují nejnovější vydání Rozhraní příkazového řádku Azure Bicep. Může se zobrazit následující chybová zpráva: "Chyba: Nepodařilo se zkompilovat šablonu bicep: spuštění sestavení bicep modulu Az PowerShell: výstupní kód: 1, stdout: , stderr: warning: Nová verze Bicep je k dispozici: v0.4.1272."
Řešení
Původně byl Bicep nezbytným předpokladem pro instalaci a použití azd
.
azd
Teď automaticky nainstaluje Bicep do místního azd
oboru (ne globálně) a tento problém by se teď měl vyřešit. Pokud ale chcete použít jinou verzi, můžete proměnnou prostředí nastavit tak AZD_BICEP_TOOL_PATH
, aby odkazovat na umístění verze, kterou potřebujete.
azd up
nebo azd provision
nefunguje
Věci se někdy mohou zvrtnout s azd up
nebo azd provision
. Mezi běžné chyby patří:
- Nelze zřídit některé prostředky v oblasti Azure, protože v oblasti došla kapacita.
- V této oblasti není k dispozici relevantní poskytovatel prostředků.
Postup řešení potíží se může lišit v závislosti na původní příčině.
Řešení
Přejděte na webový portál Azure.
Vyhledejte skupinu prostředků s názvem rg-<your-environment-name>.
Další informace získáte výběrem možnosti Nasazení .
Ověřte, že jste zadali název prostředí, který je stejný jako název vašeho prostředí.
Přejděte na kartu Akce dotčeného úložiště GitHub a prozkoumejte soubor protokolu v běhu pipeline pro více informací.
Další prostředky najdete v tématu Řešení běžných chyb nasazení Azure – Azure Resource Manager.
azd init
požaduje sudo
azd version = azure-dev-cli_0.2.0-beta.1
Předtím azd
byste vytvořili .azd
složku s drw-r--r--
přístupem.
To způsobí problém, protože použití této nebo jakékoli předchozí verze v jakémkoli nastavení Linuxu (WSL, ssh-remote, devcontainer atd.) již poskytuje .azd
složku s režimem jen pro čtení.
Řešení
Ručně odstraňte již zadanou
.azd
složku:rm -r ~/.azd
Spusťte
azd init
a pomocíazd
opětovně vytvořte složku se správnými úrovněmi přístupu.
azd monitor
pro vývojový kontejner
azd monitor
v současné době se nepodporuje, pokud jako vývojové prostředí používáte vývojový kontejner.
V prostředích Codespaces nejde provést ověření
Pokud v Codespaces dochází k problémům s ověřováním, ujistěte se, že šablona Dockerfile obsahuje sudo apt-get update && sudo apt-get install xdg-utils
příkazy. Příkaz xdg-utils
otevře kartu prohlížeče, která umožňuje přihlášení.
I přes zprávu o úspěchu se statické webové aplikace nepodařilo nasadit.
Při nasazování do Azure Static Web Apps existuje známý problém, ve kterém může výchozí azd up
výstup uvést, že akce byla úspěšná, ale změny se ve skutečnosti nenasadily. Tento problém můžete diagnostikovat spuštěním azd up
příkazu s povoleným příznakem --debug
. Ve výstupních protokolech se může zobrazit následující zpráva:
Preparing deployment. Please wait...
An unknown exception has occurred
S největší pravděpodobností narazíte na tento problém při azd
spuštění z GitHub akce. Alternativním řešením je, že po sestavení webu zkopírujte staticwebapp.config.json
do složky buildu. Tento krok můžete automatizovat pomocí předpřipraveného nebo předem připraveného háku příkazů, který umožňuje spouštět vlastní skripty v různých bodech v pracovních postupech příkazů azd.
Produktový tým pracuje na vyřešení tohoto problému.
Chyba GitHub Actions – Nemá oprávnění k přístupu k tajným klíčům v úložišti klíčů
Sdílení stejného názvu prostředí nebo skupiny prostředků při zřizování prostředků lokálně a v GitHub Actions může vést k chybě Does not have secrets get permission on key vault..
ve službě Key Vault. Key Vault nepodporuje přírůstkové aktualizace oprávnění prostřednictvím Bicep, což znamená, že pracovní postup GitHub Actions přepíše oprávnění zásad přístupu místního uživatele.
Doporučeným řešením tohoto problému je použití samostatných názvů prostředí pro místní vývoj a pracovní postupy GitHub Actions. Přečtěte si další informace o používání více prostředí pomocí azd env
příkazu na stránce Nejčastější dotazy.
Podpora textového prohlížeče
Textové prohlížeče nejsou v současné době podporovány azd monitor
.
azd pipeline config
Použití šablon AzDo pro Javu ve Windows
Při spouštění azd pipeline config
šablon AzDo pro Javu ve Windows může dojít k selhání. Máte například:
Ve Windows spusťte následující příkaz:
azd init --template Azure-Samples/todo-java-mongo azd pipeline config
Došlo k následující chybě:
Řešení
Jedná se o známý problém. Při řešení tohoto problému zkuste použít následující příkaz:
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
selhání po aktualizaci azd
na Apple Silicon (M1/M2)
V některých situacích může upgrade z x86_64 verze azd
na binární soubor ARM64 vést k chybám šablon, které byly vytvořeny pomocí x86_64 verze azd
. Důvodem je to, že šablona používá verzi v8-compile-cache
, která se může pokusit načíst bajtový kód vytvořený pod x86_64 do procesu ARM64.
Pokud chcete tento problém vyřešit, upgradujte v8-compile-cache
balíček v ovlivněném projektu:
- Změňte adresář na službu, která selhala (
src/api
v případěfailed packaging service 'api'
) - Spusťte příkaz
npm upgrade v8-compile-cache
. - Změňte adresář na kořen úložiště a spusťte
azd
příkaz (např.azd package
neboazd up
) znovu.
azd pipeline config
selhání kvůli zásadám podmíněného přístupu
Při spuštění azd pipeline config
se může zobrazit chyba podobná následující:
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"}
Tato chyba souvisí s aktivací tenanta Microsoft Entra pro zásady podmíněného přístupu. Konkrétní zásady vyžadují, abyste se přihlásili k podporované platformě zařízení.
Tato chyba se může zobrazit také z důvodu přihlášení pomocí mechanismu kódu zařízení, který brání správnému zjištění platformy zařízení v Microsoft Entra ID.
Řešení
Pokud chcete nakonfigurovat tento pracovní postup, musíte GitHubu udělit oprávnění k nasazení do Azure za vás. Autorizujte GitHub vytvořením instančního objektu služby Azure, který bude uložen jako tajemství GitHubu s názvem AZURE_CREDENTIALS
. Pro kroky vyberte svého hostitele Codespace:
Ujistěte se, že používáte zařízení uvedené jako podporované v chybové zprávě.
Znovu spusťte
azd auth login
s příznakem--use-device-code=false
připojeným:azd auth login --use-device-code=false
Po přihlášení se může zobrazit chyba se zprávou
localhost refused to connect
. Pokud ano:- Zkopírujte adresu URL.
- Spusťte
curl '<pasted url>'
(URL v uvozovkách) v novém terminálu Codespaces.
V původním terminálu by teď mělo být přihlášení úspěšné.
Po přihlášení spusťte
azd pipeline config
znovu .
Soubor Dockerfile uložený v mezipaměti místo aktuálního souboru Dockerfile
Při použití azd
v místním vývojovém prostředí s Dockerem může Docker používat verzi souboru Dockerfile uloženou v mezipaměti místo aktuální verze. Výsledkem je nasazení pomocí kontejneru s nesprávnými informacemi.
Řešení
Pokud chcete nakonfigurovat místní instalaci Dockeru, kterou používá Azure Developer CLI k sestavení kontejneru, musíte Docker nakonfigurovat s následujícími proměnnými prostředí:
DOCKER_BUILDKIT=1
DOCKER_BUILD_ARGS="--no-cache"
Můžete změnit azd up
nastavení tak, aby zahrnovala tato nastavení:
DOCKER_BUILDKIT=1 DOCKER_BUILD_ARGS="--no-cache" azd up
podpora azd pipeline config
azd pipeline config
v devContainers/VS Code Remote Containers se v současné době nepodporuje.
Podpora živých metrik pro Python
Živé metriky (azd monitor --live
) se v současné době nepodporují pro aplikace v Pythonu. Další informace najdete v tématu Live Metrics: Monitorování a diagnostika s latencí 1 sekundy.
Vytvoření problému GitHubu s žádostí o pomoc
Azure Developer CLI a rozšíření Visual Studio Code v Azure Developer CLI používají GitHub Issues ke sledování chyb a žádostí o funkce. Před vytvořením nových problémů vyhledejte existující problémy , abyste se vyhnuli duplicitám.
Pokud potřebujete pomoc nebo máte dotazy ohledně používání tohoto projektu, podívejte se na naše wiki pro používání Azure Developer CLI a náš dokument CONTRIBUTING, pokud chcete přispět.