Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Il sistema hook dell'interfaccia della riga di comando per sviluppatori di Azure (azd) supporta Python, JavaScript, TypeScript e .NET oltre a Bash e PowerShell.
azd rileva automaticamente il linguaggio dall'estensione di file, gestisce le dipendenze ed esegue lo script senza alcuna configurazione aggiuntiva necessaria.
Gli hook consentono di eseguire logiche personalizzate in punti chiave del ciclo di vita, come ad esempio prima del provisioning azd, dopo la distribuzione ed eccetera. Per informazioni generali sugli hook, inclusi gli eventi hook disponibili e le opzioni di configurazione, vedere Personalizzare i flussi di lavoro usando hook di comandi ed eventi.
Prerequisites
- Installare azd
- Il runtime per il linguaggio scelto deve essere installato nel computer:
- Python: Python 3.x
- JavaScript/TypeScript: Node.js
- .NET: .NET SDK
Rilevamento della lingua
Puntare un hook a un file di script in azure.yaml e azd inferisce il linguaggio dall'estensione del file. Se l'estensione è ambigua o mancante, specificare la lingua in modo esplicito con il kind campo :
hooks:
preprovision:
run: ./hooks/setup.py
kind: python # explicit — overrides extension inference
Hook di Python
Per scrivere un hook di Python, crea un file .py e riferisciti ad esso nel tuo azure.yaml. Inserire un requirements.txt o pyproject.toml nella stessa directory dello script o di una directory principale.
azd esplora l'albero della directory dal percorso dello script per trovare il file di progetto più vicino, crea un ambiente virtuale, installa le dipendenze ed esegue lo script.
Struttura di directory di esempio
hooks/
├── setup.py
└── requirements.txt
Configurazione di esempio
hooks:
preprovision:
run: ./hooks/setup.py
Configurazione specifica di Python
Usare il blocco config per eseguire l'override del nome predefinito dell'ambiente virtuale.
hooks:
preprovision:
run: ./hooks/setup.py
config:
virtualEnvName: .venv # override default naming
Hook di JavaScript e TypeScript
Per scrivere hook JavaScript o TypeScript, creare un file .js o un .ts e farne riferimento in azure.yaml. Posiziona un elemento package.json nella stessa directory del tuo script o in una directory superiore.
azd esegue npm install (o la gestione pacchetti specificata nel config blocco) ed esegue lo script. Gli script TypeScript vengono eseguiti tramite npx tsx senza passaggi di compilazione o tsconfig.json necessari.
Struttura di directory di esempio
hooks/
├── seed.ts
└── package.json
Configurazione di esempio
hooks:
postdeploy:
run: ./hooks/seed.ts
Configurazione di JavaScript e TypeScript
Usare il config blocco per specificare una gestione pacchetti preferita.
hooks:
postdeploy:
run: ./hooks/seed.ts
config:
packageManager: pnpm # npm | pnpm | yarn
Hook di .NET
Sono supportate due modalità per gli hook .NET:
-
Modalità progetto: Se un
.csproj,.fsprojo.vbprojesiste nella stessa directory dello script o in una directory padre,azdeseguedotnet restoreedotnet buildautomaticamente. -
Modalità file singolo: in .NET 10+, i file autonomi
.csvengono eseguiti direttamente tramitedotnet run script.cssenza un file di progetto.
Struttura di directory di esempio
hooks/
├── migrate.cs
└── migrate.csproj # optional — omit for single-file mode on .NET 10+
Configurazione di esempio
hooks:
postprovision:
run: ./hooks/migrate.cs
. Configurazione specifica di NET
Specificare la configurazione di compilazione e il framework di destinazione usando il config blocco :
hooks:
postprovision:
run: ./hooks/migrate.cs
config:
configuration: Release # Debug | Release
framework: net10.0 # target framework
Eseguire l'override della directory di lavoro
Impostare la directory di lavoro per un hook usando il dir campo . Questa configurazione è utile quando la radice del progetto è diversa dal percorso dello script:
hooks:
preprovision:
run: main.py
dir: hooks/preprovision
Combinare lingue e formati
Usare lingue diverse per hook diversi nello stesso azure.yaml file. È possibile anche combinare hook multilingue con override specifici per la piattaforma:
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
Contenuti correlati
- Personalizzare i flussi di lavoro usando hook di comandi ed eventi
- Riferimento della CLI di Azure per sviluppatori
Richiedere assistenza
Per informazioni su come inviare un bug, richiedere assistenza o proporre una nuova funzionalità per l'interfaccia della riga di comando per sviluppatori di Azure, visitare la pagina troubleshooting e supporto.