Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
O sistema de hook Azure Developer CLI (azd) suporta Python, JavaScript, TypeScript e .NET , além de Bash e PowerShell.
azd deteta automaticamente a linguagem da extensão de ficheiro, gere dependências e executa o script sem necessidade de configuração adicional.
Os ganchos permitem-lhe executar lógica personalizada em pontos-chave do azd ciclo de vida, como antes do provisionamento, após a implementação e mais. Para obter informações gerais sobre hooks, incluindo os eventos de hook disponíveis e opções de configuração, consulte Personalizar fluxos de trabalho utilizando hooks de comandos e eventos.
Pré-requisitos
- Instalar azd
- O tempo de execução para a linguagem escolhida deve ser instalado na sua máquina:
- Python: Python 3.x
- JavaScript/TypeScript: Node.js
- .NET: .NET SDK
Deteção de idioma
Aponta um gancho para um ficheiro de script em azure.yaml, e azd infere a linguagem a partir da extensão do ficheiro. Se a extensão for ambígua ou ausente, especifique explicitamente a linguagem com o kind campo:
hooks:
preprovision:
run: ./hooks/setup.py
kind: python # explicit — overrides extension inference
Ganchos Python
Para escrever um hook em Python, crie um .py ficheiro e faça referência a ele no seu azure.yaml ficheiro. Coloque um requirements.txt ou pyproject.toml no mesmo diretório que o script ou um diretório pai.
azd Sobe pela árvore de diretórios a partir da localização do script para encontrar o ficheiro de projeto mais próximo, cria um ambiente virtual, instala dependências e executa o script.
Exemplo de estrutura de diretórios
hooks/
├── setup.py
└── requirements.txt
Exemplo de configuração
hooks:
preprovision:
run: ./hooks/setup.py
Configuração específica de Python
Use o config bloco para sobrepor o nome padrão do ambiente virtual.
hooks:
preprovision:
run: ./hooks/setup.py
config:
virtualEnvName: .venv # override default naming
Ganchos JavaScript e TypeScript
Para escrever hooks JavaScript ou TypeScript, crie um ficheiro .js ou .ts e referencie-o no seu azure.yaml. Coloque o package.json no mesmo diretório que o seu script ou num diretório pai.
azd executa npm install (ou o gestor de pacotes especificado no config bloco) e executa o script. TypeScript scripts são executados via npx tsx sem necessidade de etapa de compilação ou de tsconfig.json.
Exemplo de estrutura de diretórios
hooks/
├── seed.ts
└── package.json
Exemplo de configuração
hooks:
postdeploy:
run: ./hooks/seed.ts
Configuração JavaScript e TypeScript
Use o bloco config para especificar um gestor de pacotes preferido.
hooks:
postdeploy:
run: ./hooks/seed.ts
config:
packageManager: pnpm # npm | pnpm | yarn
Ganchos .NET
São suportados dois modos para hooks .NET:
-
Modo projeto: Se um
.csproj,.fsproj, ou.vbprojexistir no mesmo diretório que o script ou um diretório pai,azdexecuta-sedotnet restoreedotnet buildautomaticamente. -
Modo de um único ficheiro: No .NET 10+, os ficheiros autónomos
.cssão executados diretamente viadotnet run script.cssem ficheiro de projeto.
Exemplo de estrutura de diretórios
hooks/
├── migrate.cs
└── migrate.csproj # optional — omit for single-file mode on .NET 10+
Exemplo de configuração
hooks:
postprovision:
run: ./hooks/migrate.cs
Configuração específica do .NET
Especifique a configuração da build e o framework de destino usando o bloco config :
hooks:
postprovision:
run: ./hooks/migrate.cs
config:
configuration: Release # Debug | Release
framework: net10.0 # target framework
Sobrescrever o diretório de trabalho
Define o diretório de trabalho para um hook usando o dir campo. Esta configuração é útil quando a raiz do projeto difere da localização do script:
hooks:
preprovision:
run: main.py
dir: hooks/preprovision
Mistura de línguas e formatos
Use linguagens diferentes para diferentes hooks no mesmo azure.yaml ficheiro. Também pode combinar ganchos multilíngues com sobreposições específicas da plataforma:
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
Conteúdo relacionado
- Personalize fluxos de trabalho usando ganchos de comandos e eventos
- Referência de CLI do Azure para Desenvolvedores
Pedir ajuda
Para informações sobre como registar um bug, pedir ajuda ou propor uma nova funcionalidade para a Azure Developer CLI, por favor visite a página troubleshooting and support.