Hibaelhárítás az Azure Developer CLI-ben
Ez a cikk az Azure Developer CLI (azd) használatakor felmerülő gyakori problémák megoldását ismerteti.
Segítség kérése és visszajelzés küldése
Ha nem találja, amit ebben a cikkben keres, vagy visszajelzést szeretne küldeni, kérdéseket tehet fel az Azure Developer CLI-vitafórumokban.
A hibák bejelentéséhez nyissa meg a GitHub-problémákat az Azure Developer CLI GitHub-adattárában.
--debug
A kapcsoló használata
Ha váratlan problémát tapasztal a munka azd
során, futtassa újra a parancsot a kapcsolóval a --debug
további hibakeresési és diagnosztikai kimenet engedélyezéséhez.
azd up --debug
A hibakeresési kimenetet egy helyi szövegfájlba is elküldheti a jobb használhatóság érdekében. Ez a módszer lehetővé teszi, hogy a hibakeresési adatokat más monitorozási rendszerek is betöltse, és a GitHubon történő probléma bejelentésekor is hasznos lehet.
Fontos
A Hibakeresési naplók GitHubon való elküldésekor vagy más diagnosztikai rendszerekbe való mentésekor ügyeljen arra, hogy minden bizalmas információt újra kiírjon.
azd deploy --debug > "<your-file-path>.txt"
A .azure
könyvtár
Az Azure Developer CLI feltételezi, hogy a .azure
címtárban tárolt könyvtárak Azure Developer CLI-környezetek. Ne futtasson Azure Developer CLI-parancsokat egy olyan felhasználó kezdőkönyvtárából, aki telepítette az Azure CLI-t.
Nincs bejelentkezve az Azure-ba, vagy lejárt jogkivonat a Visual Studióban
A Visual Studióban való futtatás azd init -t <template-name>
után a következő hibaüzenet jelenik meg: "A távoli hozzáféréshez ehhez az adattárhoz újra be kell szereznie az OAuth-alkalmazást Visual Studio
."
Megoldás
Futtassa azd auth login
a hozzáférési jogkivonat frissítését.
A frissített Azure-fiókengedélyek nem frissülnek azd
Alapértelmezés szerint azd
gyorsítótárazza az Azure-beli hitelesítő adatokat és engedélyeket. Ha az Azure-fiókja új szerepkörökhöz és engedélyekhez van rendelve, vagy további előfizetésekhez van hozzáadva, előfordulhat, hogy ezek a módosítások nem jelennek meg azonnal a dokumentumban azd
. A probléma megoldásához jelentkezzen ki, majd jelentkezzen be újra azd
a következő parancsokkal:
azd auth logout
azd auth login
Kövesse a parancsban található utasításokat a azd auth login
bejelentkezési folyamat befejezéséhez és a gyorsítótárazott hitelesítő adatok frissítéséhez.
A Cloud Shell korlátozásai azd
A Cloud Shellben való futtatásnak azd
van néhány korlátozása:
Docker-támogatás a Cloud Shellben
A Cloud Shell nem támogatja a docker build
vagy run
parancsok futtatását, mert a docker démon nem fut. További információkért lásd a Cloud Shell hibaelhárítását.
A Cloud Shell időtúllépése
A Cloud Shell időtúllépést okozhat egy hosszú üzembe helyezés vagy más hosszan futó feladat során. Győződjön meg arról, hogy a munkamenet nem tétlenné válik. Lásd a Cloud Shell használati korlátait.
Cloud Shell-felület
A Cloud Shell elsősorban parancssori felület, és kevesebb funkcióval rendelkezik, mint egy integrált fejlesztési környezet, például a Visual Studio Code.
Nem lehet csatlakozni a Docker-démonhoz a Cloud Shellben
A Cloud Shell tárolóval üzemelteti a rendszerhéjkörnyezetet, így a Docker-démon futtatását igénylő feladatok nem engedélyezettek.
Az azd különböző verziójának telepítése a Cloud Shellben
Bizonyos esetekben előfordulhat, hogy a Cloud Shellben már használt verziótól eltérő verziót azd
kell telepíteni. Ehhez bash:
- Futtassa
mkdir -p ~/bin
a~/bin
mappa jelenlétének biztosításához - Futtassa
mkdir -p ~/azd
a helyi~/azd
mappa jelenlétének biztosításához - Futtatás
curl -fsSL https://aka.ms/install-azd.sh | bash -s -- --install-folder ~/azd --symlink-folder ~/bin --version <version>
(<version>
alapértelmezés szerint,stable
de egy adott kiadású verzió1.0.0
is megadható).
A telepítés után a szimbolikusan csatolt ~/bin
verzió azd
elsőbbséget élvez a szimbolikusan csatolt verzióval azd
/usr/local/bin
szemben.
Ha vissza szeretne térni a Cloud Shellben már telepített verzió azd
használatára a bashben:
- Az
rm ~/bin/azd
parancs futtatása - Az
rm -rf ~/azd
parancs futtatása
Megoldás
Használjon másik gazdagépet a docker-démont igénylő feladatok végrehajtásához. Az egyik lehetőség a Docker-gép használata a Cloud Shell hibaelhárítási dokumentációjában leírtak szerint.
Azure Bicep CLI-követelmény
azd up
és azd provision
az Azure Bicep CLI legújabb kiadásának megkövetelése. A következő hibaüzenet jelenhet meg: "Hiba: nem sikerült lefordítani a bicep-sablont: nem sikerült futtatni az Az PowerShell-modul bicep-buildjének futtatását: kilépési kód: 1, stdout: , stderr: FIGYELMEZTETÉS: Egy új Bicep-kiadás érhető el: 0.4.1272-es verzió."
Megoldás
Korábban a Bicep egy preqrequisite volt a telepítéshez és a használathoz azd
. azd
Most automatikusan telepíti a Bicep-et a helyi azd
hatókörön belül (nem globálisan), és ezt a problémát most meg kell oldani. Ha azonban másik verziót szeretne használni, beállíthatja a környezeti változót, AZD_BICEP_TOOL_PATH
hogy a szükséges verzió helyére mutasson.
azd up
vagy azd provision
sikertelen
A dolgok néha mennek awry vagy azd up
azd provision
. Gyakori hibák a következők:
- "Nem lehet bizonyos erőforrásokat kiépni egy Azure-régióban, mert a régió kapacitáson kívül van."
- "A releváns erőforrás-szolgáltató nem található ebben a régióban."
A hibaelhárítási lépések a kiváltó októl függően eltérhetnek.
Megoldás
Nyissa meg az Azure Portalt.
Keresse meg az erőforráscsoportot, amely rg-your-environment-name<>.
További információkért válassza az Üzemelő példányok lehetőséget.
Ellenőrizze, hogy olyan környezetnevet adott-e meg, amely megegyezik a környezet nevével.
Lépjen a lapra
https://github.com/<your repo>/actions
, majd tekintse meg a folyamatfuttatás naplófájljában található további információkat.
Egyéb erőforrásokat az Azure gyakori üzembehelyezési hibáinak elhárítása – Azure Resource Manager című témakörben talál.
azd init
Megköveteli sudo
Korábban azd version = azure-dev-cli_0.2.0-beta.1
létrehozna egy .azd
mappát hozzáférésseldrw-r--r--
. azd
Ez problémát fog okozni, mivel ennek vagy bármely korábbi verziójának használata bármely Linux-beállításon (WSL, ssh-remote, devcontainer stb.) már biztosít egy .azd
mappát írásvédett módban.
Megoldás
Törölje manuálisan a már megadott
.azd
mappát:rm -r ~/.azd
Futtassa
azd init
újraazd
a mappát a megfelelő hozzáférési szintekkel.
azd monitor
fejlesztői tárolóhoz
azd monitor
jelenleg nem támogatott, ha fejlesztési környezetként fejlesztési tárolót használ.
Nem lehet hitelesítést végezni Codespaces-környezetekben
Ha hitelesítési problémákat tapasztal a Codespacesben, győződjön meg arról, hogy a Dockerfile sablon tartalmazza a sudo apt-get update && sudo apt-get install xdg-utils
parancsokat. A xdg-utils
parancs megnyit egy böngészőlapot, amely lehetővé teszi a bejelentkezést.
A statikus webalkalmazások üzembe helyezése sikertelen volt a sikeres üzenet ellenére
Ismert probléma áll fenn az Azure Static Web Appsben való üzembe helyezéskor, amelyben az alapértelmezett azd up
kimenet azt jelezheti, hogy a művelet sikeres volt, de a módosítások ténylegesen nem lettek üzembe helyezve. Ezt a problémát diagnosztizálhatja úgy, hogy a azd up
parancsot engedélyezve futtatja a --debug
jelölőt. A kimeneti naplókban a következő üzenet jelenhet meg:
Preparing deployment. Please wait...
An unknown exception has occurred
Ez a probléma azd
valószínűleg gitHub-műveletből futtatva jelenik meg. Kerülő megoldásként a webhely létrehozása után másolja staticwebapp.config.json
a buildmappába. Ezt a lépést automatizálhatja egy előre csomagolt vagy előre üzembe helyezési parancshook használatával, amely lehetővé teszi egyéni szkriptek végrehajtását az azd parancs munkafolyamatainak különböző pontjain.
A termékcsapat dolgozik a probléma megoldásán.
GitHub Actions-hiba – "Nincs titkos kulcs a key vaulthoz való hozzáféréshez"
Ha ugyanazt a környezetet vagy erőforráscsoportnevet osztja meg az erőforrások helyi és GitHub Actionsben történő kiépítésekor, akkor a Key Does not have secrets get permission on key vault..
Vault szolgáltatás hibát okozhat. A Key Vault nem támogatja a Bicep növekményes engedélyfrissítéseit, ami gyakorlatilag azt jelenti, hogy a GitHub Actions munkafolyamat felülírja a helyi felhasználó hozzáférési szabályzatának engedélyeit.
A probléma ajánlott megoldása a helyi fejlesztési és GitHub Actions-munkafolyamatok különálló környezetneveinek használata. További információ a több környezet használatáról a azd env
gyik oldalon található paranccsal.
Szövegalapú böngészőtámogatás
A szövegalapú böngészők jelenleg nem támogatottak azd monitor
.
azd pipeline config
AzDo használata Java-sablonokhoz Windows rendszeren
Hiba léphet fel az AzDo for Java-sablonok Windows rendszeren való futtatásakor azd pipeline config
. Például:
Futtassa a következőket Windows rendszeren:
azd init --template Azure-Samples/todo-java-mongo azd pipeline config
A következő hibaüzenetet kapta:
Megoldás
Ez egy ismert probléma. A probléma megoldása közben próbálkozzon a következő paranccsal:
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
hiba az Apple Silicon (M1/M2) frissítése azd
után
Bizonyos esetekben az ARM64 bináris x86_64 verziójáról azd
való frissítés meghiúsulhat a x86_64 verziójával azd
készült sablonok esetében. Ennek az az oka, hogy a sablon olyan verziót v8-compile-cache
használ, amelynek x86_64 beépített bájtkódját megpróbálhatja betölteni egy ARM64-folyamatba.
A probléma megoldásához frissítse a v8-compile-cache
csomagot az érintett projektben:
- Módosítsa a könyvtárat arra a szolgáltatásra, amely nem sikerült (
src/api
a következő eseténfailed packaging service 'api'
: ) - Az
npm upgrade v8-compile-cache
parancs futtatása - Módosítsa a könyvtárat az adattár gyökerére, és futtassa újra a
azd
parancsot (példáulazd package
vagyazd up
)
azd pipeline config
hiba a feltételes hozzáférési szabályzat miatt
Futtatáskor azd pipeline config
az alábbihoz hasonló hibaüzenet jelenhet meg:
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"}
Ez a hiba a Feltételes hozzáférési szabályzatok Microsoft Entra-bérlői engedélyezésével kapcsolatos. Az adott szabályzathoz egy támogatott eszközplatformra kell bejelentkezni.
Előfordulhat, hogy ezt a hibát azért is kapja, mert az eszközkód mechanizmus használatával jelentkezik be, ami megakadályozza, hogy a Microsoft Entra ID megfelelően észlelje az eszközplatformot.
Megoldás
A munkafolyamat konfigurálásához engedélyeznie kell, hogy a rendszer az Ön nevében üzembe helyezze a GitHubot az Azure-ban. Engedélyezze a GitHubot egy GitHub-titkos AZURE_CREDENTIALS
kódban tárolt Azure Service Principal létrehozásával. Válassza ki a Codespace-gazdagépet a következő lépésekhez:
A hibaüzenet alapján győződjön meg arról, hogy támogatottként felsorolt eszközön fut.
Futtassa
azd auth login
újra a hozzáfűzött jelölőt--use-device-code=false
:azd auth login --use-device-code=false
Bejelentkezés után hibaüzenet
localhost refused to connect
jelenhet meg. Ha igen:- URL-cím másolása.
- Futtassa
curl '<pasted url>'
(URL-cím idézőjelekben) egy új Codespaces-terminálban.
Az eredeti terminálban a bejelentkezésnek most sikeresnek kell lennie.
Bejelentkezés után futtassa újra a következőt
azd pipeline config
:
azd pipeline config
Támogatás
azd pipeline config
jelenleg nem támogatott a DevContainers/VS Code Távoli tárolókban.
Élő metrikák támogatása a Pythonhoz
Az élő metrikák (azd monitor --live
) jelenleg nem támogatottak a Python-alkalmazásokban. További információk: Élő metrikák: Monitorozás és diagnosztika 1 másodperces késéssel.
GitHub-probléma létrehozása segítségkéréshez
Az Azure Developer CLI és az Azure Developer CLI Visual Studio Code bővítmény a GitHub Issues használatával követi nyomon a hibákat és a funkciókéréseket. Az ismétlődések elkerülése érdekében az új problémák bejelentése előtt keressen rá a meglévő problémákra .
Ha segítségre van szüksége a projekt használatával kapcsolatban, tekintse meg wikinket az Azure Developer CLI használatához, és ha hozzá szeretne járulni, tekintse meg a közreműködői dokumentumunkat.