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.
Het azure Developer CLI-hooksysteem ondersteuntazdnaast Bash en PowerShell python, JavaScript, TypeScript en .NET .
azd detecteert automatisch de taal uit de bestandsextensie, beheert afhankelijkheden en voert het script uit zonder extra configuratie vereist.
Met Hooks kunt u aangepaste logica uitvoeren op belangrijke punten in de azd levenscyclus, zoals voor het inrichten, na de implementatie en meer. Zie Werkstromen aanpassen met behulp van opdracht- en gebeurtenishookhaken voor algemene informatie over hooks, inclusief beschikbare hook-gebeurtenissen en configuratieopties.
Prerequisites
- Azd installeren
- De runtime voor de gekozen taal moet op uw computer zijn geïnstalleerd:
- Python: Python 3.x
- JavaScript/TypeScript: Node.js
- .NET: .NET SDK
Taaldetectie
Wijs een hook aan bij een scriptbestand in azure.yamlen azd leid de taal af van de bestandsextensie. Als de extensie niet eenduidig is of ontbreekt, geeft u de taal expliciet op met het kind veld:
hooks:
preprovision:
run: ./hooks/setup.py
kind: python # explicit — overrides extension inference
Python hooks
Als u een Python-hook wilt schrijven, maakt u een .py bestand en verwijst u ernaar in uw azure.yaml. Plaats een requirements.txt of pyproject.toml in dezelfde map als het script of een oudermap.
azd loopt vanuit de mapstructuur omhoog vanaf de scriptlocatie om het dichtstbijzijnde projectbestand op te zoeken, maakt een virtuele omgeving, installeert afhankelijkheden en voert het script uit.
Voorbeeld van mapstructuur
hooks/
├── setup.py
└── requirements.txt
Voorbeeldconfiguratie
hooks:
preprovision:
run: ./hooks/setup.py
Python-specifieke configuratie
Gebruik het config blok om de standaardnaam van de virtuele omgeving te overschrijven.
hooks:
preprovision:
run: ./hooks/setup.py
config:
virtualEnvName: .venv # override default naming
JavaScript- en TypeScript-hooks
Als u JavaScript- of TypeScript-hooks wilt schrijven, maakt u een .js- of .ts-bestand aan en verwijst ernaar in uw azure.yaml. Plaats een package.json bestand in dezelfde map als uw script of in een bovenliggende map.
azd voert npm install uit (of de pakketbeheerder die is opgegeven in het config blok) en voert het script uit. TypeScript scripts worden via npx tsx gemaakt zonder compileerstap of tsconfig.json nodig.
Voorbeeld van mapstructuur
hooks/
├── seed.ts
└── package.json
Voorbeeldconfiguratie
hooks:
postdeploy:
run: ./hooks/seed.ts
JavaScript- en TypeScript-configuratie
Gebruik het config blok om een voorkeurspakketbeheer op te geven.
hooks:
postdeploy:
run: ./hooks/seed.ts
config:
packageManager: pnpm # npm | pnpm | yarn
.NET hooks
Er worden twee modi ondersteund voor .NET-hooks:
-
Projectmodus: Als een
.csproj,.fsproj, of.vbprojbestaat in dezelfde map als het script of een bovenliggende map,azdvoertdotnet restoreendotnet buildautomatisch uit. - Modus voor één bestand: op .NET 10+ worden zelfstandige
.csbestanden rechtstreeks uitgevoerd zonderdotnet run script.cseen projectbestand.
Voorbeeld van mapstructuur
hooks/
├── migrate.cs
└── migrate.csproj # optional — omit for single-file mode on .NET 10+
Voorbeeldconfiguratie
hooks:
postprovision:
run: ./hooks/migrate.cs
. NET-specifieke configuratie
Geef de buildconfiguratie en het doelframework op met behulp van het config blok:
hooks:
postprovision:
run: ./hooks/migrate.cs
config:
configuration: Release # Debug | Release
framework: net10.0 # target framework
De werkmap overschrijven
Stel de werkmap voor een hook in met behulp van het dir veld. Deze configuratie is handig wanneer de hoofdmap van het project verschilt van de scriptlocatie:
hooks:
preprovision:
run: main.py
dir: hooks/preprovision
Talen en indelingen combineren
Gebruik verschillende talen voor verschillende hooks in hetzelfde azure.yaml bestand. U kunt ook meertalige hooks combineren met platform-specifieke overschrijvingen.
hooks:
preprovision:
run: ./hooks/setup.py
postdeploy:
run: ./hooks/seed.ts
postprovision:
run: ./hooks/migrate.cs
predeploy:
windows:
run: ./hooks/build.ps1
posix:
run: ./hooks/build.sh
Verwante inhoud
- Werkstromen aanpassen met behulp van opdracht- en gebeurtenishook
- Naslaginformatie over Azure Developer CLI
Hulp vragen
Ga naar de pagina roubleshooting en ondersteuning voor informatie over het indienen van een bug, hulp vragen of een nieuwe functie voorstellen voor de Azure Developer CLI.