Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Система хуков CLI разработчика Azure (azd) поддерживает Python, JavaScript, TypeScript и .NET, в дополнение к Bash и PowerShell.
azd автоматически обнаруживает язык из расширения файла, управляет зависимостями и запускает скрипт без дополнительной конфигурации.
Перехватчики позволяют выполнять пользовательскую логику в ключевых точках azd жизненного цикла, таких как перед подготовкой, после развертывания и многое другое. Общие сведения о перехватчиках, включая доступные события перехватчика и параметры конфигурации, см. в разделе "Настройка рабочих процессов" с помощью команд и перехватчиков событий.
Необходимые условия
- Install azd
- Среда выполнения выбранного языка должна быть установлена на компьютере:
- Python: Python 3.x
- JavaScript/TypeScript: Node.js
- .NET: пакет SDK для .NET
Распознавание языка
Наведите указатель на файл azure.yamlскрипта и azd введите язык из расширения файла. Если расширение неоднозначно или отсутствует, укажите язык явным образом с полем kind :
hooks:
preprovision:
run: ./hooks/setup.py
kind: python # explicit — overrides extension inference
Хуки Python
Чтобы написать перехватчик Python, создайте .py файл и укажите на него в вашем azure.yaml. Поместите requirements.txt или pyproject.toml в тот же каталог, что и сценарий, или в родительский каталог.
azd Выполняет обход дерева каталогов из расположения скрипта, чтобы найти ближайший файл проекта, создает виртуальную среду, устанавливает зависимости и запускает скрипт.
Пример структуры каталогов
hooks/
├── setup.py
└── requirements.txt
Пример конфигурации
hooks:
preprovision:
run: ./hooks/setup.py
Конфигурация для Python
Используйте config блок для переопределения имени виртуальной среды по умолчанию.
hooks:
preprovision:
run: ./hooks/setup.py
config:
virtualEnvName: .venv # override default naming
Перехватчики (хуки) JavaScript и TypeScript
Чтобы написать перехватчики JavaScript или TypeScript, создайте файл .js или .ts и укажите его в вашем azure.yaml.
package.json Поместите его в тот же каталог, что и сценарий или родительский каталог.
azd запускает npm install (или диспетчер пакетов, указанный в блоке config ) и выполняет скрипт. Скрипты TypeScript выполняются без npx tsx шага компиляции или tsconfig.json необходимости.
Пример структуры каталогов
hooks/
├── seed.ts
└── package.json
Пример конфигурации
hooks:
postdeploy:
run: ./hooks/seed.ts
Конфигурация JavaScript и TypeScript
Используйте config блок для указания предпочтительного диспетчера пакетов.
hooks:
postdeploy:
run: ./hooks/seed.ts
config:
packageManager: pnpm # npm | pnpm | yarn
Перехватчики .NET
В .NET поддерживаются два режима для хуков:
-
Режим проекта: если
.csproj,.fsproj, или.vbprojсуществует в том же каталоге, что и сценарий, или в родительском каталоге,azdавтоматически выполняетdotnet restoreиdotnet build. -
Однофайловый режим: Начиная с .NET 10+, автономные
.csфайлы выполняются непосредственно без файла проекта черезdotnet run script.cs.
Пример структуры каталогов
hooks/
├── migrate.cs
└── migrate.csproj # optional — omit for single-file mode on .NET 10+
Пример конфигурации
hooks:
postprovision:
run: ./hooks/migrate.cs
Конфигурация для .NET
Укажите конфигурацию сборки и целевой фреймворк с помощью блока config.
hooks:
postprovision:
run: ./hooks/migrate.cs
config:
configuration: Release # Debug | Release
framework: net10.0 # target framework
Переопределить рабочий каталог
Установите рабочий каталог для хука, используя поле dir. Эта конфигурация полезна, если корневой каталог проекта отличается от расположения скрипта:
hooks:
preprovision:
run: main.py
dir: hooks/preprovision
Сочетание языков и форматов
Используйте разные языки для разных хуков в одном azure.yaml файле. Можно также совместить многоязычные хуки с переопределениями для конкретной платформы.
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
Связанный контент
- Настройка рабочих процессов с помощью хуков команд и событий
- Справочник по интерфейсу командной строки разработчика Azure
Запрос помощи
Чтобы получить информацию о том, как сообщить об ошибке, запросить помощь или предложить новую функцию для интерфейса командной строки разработчика Azure (CLI), перейдите на страницу устранения неполадок и поддержки.