Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O sistema de gancho da CLI do Desenvolvedor do Azure (azd) dá suporte a Python, JavaScript, TypeScript e .NET , além do Bash e do PowerShell.
azd detecta automaticamente o idioma da extensão de arquivo, gerencia dependências e executa o script sem nenhuma configuração adicional necessária.
Os ganchos permitem executar a lógica personalizada em pontos-chave no ciclo de vida, como antes do azd provisionamento, após a implantação e muito mais. Para obter informações gerais sobre ganchos, incluindo eventos de gancho disponíveis e opções de configuração, consulte Personalizar fluxos de trabalho usando ganchos de comando e evento.
Prerequisites
- Instalar azd
- O runtime do idioma escolhido deve ser instalado em seu computador:
- Python: Python 3.x
- JavaScript/TypeScript: Node.js
- .NET: SDK do .NET
Detecção de idioma
Aponte um hook para um arquivo de script em azure.yaml, e azd infere o idioma pela extensão do arquivo. Se a extensão for ambígua ou ausente, especifique o idioma explicitamente com o kind campo:
hooks:
preprovision:
run: ./hooks/setup.py
kind: python # explicit — overrides extension inference
Ganchos do Python
Para escrever um hook do Python, crie um arquivo .py e faça referência a ele em seu azure.yaml. Coloque um requirements.txt ou pyproject.toml no mesmo diretório do script ou em um diretório pai.
azd percorre a árvore de diretório do local do script para localizar o arquivo de projeto mais próximo, cria um ambiente virtual, instala dependências e executa o script.
Estrutura de diretório de exemplo
hooks/
├── setup.py
└── requirements.txt
Configuração de exemplo
hooks:
preprovision:
run: ./hooks/setup.py
Configuração específica do Python
Use o config bloco para substituir o nome do ambiente virtual padrão.
hooks:
preprovision:
run: ./hooks/setup.py
config:
virtualEnvName: .venv # override default naming
Ganchos JavaScript e TypeScript
Para escrever ganchos JavaScript ou TypeScript, crie um arquivo .js ou um arquivo .ts e faça referência a ele em seu azure.yaml. Coloque um package.json no mesmo diretório que um script ou um diretório pai.
azd executa npm install (ou o gerenciador de pacotes especificado no config bloco) e executa o script. Os scripts TypeScript são executados via npx tsx sem etapa de tsconfig.json e sem necessidade de compilação.
Estrutura de diretório de exemplo
hooks/
├── seed.ts
└── package.json
Configuração de exemplo
hooks:
postdeploy:
run: ./hooks/seed.ts
Configuração de JavaScript e TypeScript
Use o config bloco para especificar um gerenciador de pacotes preferencial.
hooks:
postdeploy:
run: ./hooks/seed.ts
config:
packageManager: pnpm # npm | pnpm | yarn
Ganchos do .NET
Há suporte para dois modos para ganchos .NET:
-
Modo de projeto: se um
.csproj,.fsprojou.vbprojexiste no mesmo diretório que o script ou um diretório pai,azdé executadodotnet restoreedotnet buildautomaticamente. -
Modo de arquivo único: No .NET 10+, arquivos independentes
.csrodam diretamente por meio dedotnet run script.cssem um arquivo de projeto.
Estrutura de diretório de exemplo
hooks/
├── migrate.cs
└── migrate.csproj # optional — omit for single-file mode on .NET 10+
Configuração de exemplo
hooks:
postprovision:
run: ./hooks/migrate.cs
Configuração específica do .NET
Especifique a configuração de build e a estrutura de destino usando o config bloco:
hooks:
postprovision:
run: ./hooks/migrate.cs
config:
configuration: Release # Debug | Release
framework: net10.0 # target framework
** Sobrescrever o diretório de trabalho
Defina o diretório de trabalho para um gancho usando o campo dir. Essa configuração é útil quando a raiz do projeto difere do local do script:
hooks:
preprovision:
run: main.py
dir: hooks/preprovision
Misturar idiomas e formatos
Use idiomas diferentes para hooks diferentes no mesmo azure.yaml arquivo. Você também pode combinar ganchos de vários idiomas com substituiçõ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
- Personalizar fluxos de trabalho usando comando e ganchos de evento
- Referência da CLI do Azure para Desenvolvedores
Solicitar ajuda
Para obter informações sobre como arquivar um bug, solicitar ajuda ou propor um novo recurso para a CLI do Desenvolvedor do Azure, visite a página troubleshooting e suporte.