Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Azure Geliştirici CLI (azd) kanca sistemi, Bash ve PowerShell'e ek olarak Python, JavaScript, TypeScript ve .NET'i destekler.
azd dosya uzantısından dili otomatik olarak algılar, bağımlılıkları yönetir ve betiği ek yapılandırma gerektirmeden çalıştırır.
Kancalar, sağlamadan önce, dağıtımdan sonra ve daha fazlası gibi yaşam döngüsündeki azd önemli noktalarda özel mantık çalıştırmanıza olanak sağlar. Kullanılabilir kanca olayları ve yapılandırma seçenekleri de dahil olmak üzere kancalar hakkında genel bilgi için bkz. Komut ve olay kancalarını kullanarak iş akışlarını özelleştirme.
Prerequisites
- azd yükleme
- Seçtiğiniz dilin çalışma zamanı makinenize yüklenmelidir:
- Python: Python 3.x
- JavaScript/TypeScript: Node.js
- .NET: .NET SDK
Dil algılama
Bir kanca ile azure.yaml içindeki bir betik dosyasını işaretleyin, ve azd dili dosya uzantısından çıkarır. Uzantı belirsiz veya eksikse, dili şu alanla kind açıkça belirtin:
hooks:
preprovision:
run: ./hooks/setup.py
kind: python # explicit — overrides extension inference
Python kancaları
Python kancası yazmak için bir .py dosya oluşturun ve dosyanızda referans alın azure.yaml. Bir requirements.txt veya pyproject.toml öğesini betikle aynı dizine veya üst dizine yerleştirin.
azd betiğin konumundan başlayarak dizin ağacını yukarı doğru tarar, en yakın proje dosyasını bulur, bir sanal ortam oluşturur, bağımlılıkları yükler ve betiği çalıştırır.
Örnek dizin yapısı
hooks/
├── setup.py
└── requirements.txt
Örnek yapılandırma
hooks:
preprovision:
run: ./hooks/setup.py
Python'a özgü yapılandırma
config Varsayılan sanal ortam adını geçersiz kılmak için bloğunu kullanın.
hooks:
preprovision:
run: ./hooks/setup.py
config:
virtualEnvName: .venv # override default naming
JavaScript ve TypeScript kancaları
JavaScript veya TypeScript hook'ları yazmak için bir .js veya .ts dosyası oluşturun ve azure.yaml dosyanızda referans verin. Betiğinizle aynı dizine veya üst dizine package.json yerleştirin.
azdkomutunu (veya blokta belirtilen paket yöneticisininpm install) çalıştırır config ve betiği yürütür. TypeScript betikleri, derleme adımı ya da gereklilik olmaksızın npx tsx aracılığıyla tsconfig.json kullanılarak çalıştırılır.
Örnek dizin yapısı
hooks/
├── seed.ts
└── package.json
Örnek yapılandırma
hooks:
postdeploy:
run: ./hooks/seed.ts
JavaScript ve TypeScript yapılandırması
Tercih edilen config paket yöneticisini belirtmek için bloğunu kullanın.
hooks:
postdeploy:
run: ./hooks/seed.ts
config:
packageManager: pnpm # npm | pnpm | yarn
.NET bağlantıları
.NET kancaları için iki mod desteklenir:
-
Proje modu: Eğer bir
.csproj,.fsprojveya.vbprojbetikle veya üst dizinlerinden biriyle aynı dizinde varsa,azdotomatik olarakdotnet restorevedotnet buildçalıştırır. -
Tek dosya modu: .NET 10+ üzerinde, tek başına
.csdosyalar proje dosyası olmadan doğrudan üzerindendotnet run script.csçalıştırılır.
Örnek dizin yapısı
hooks/
├── migrate.cs
└── migrate.csproj # optional — omit for single-file mode on .NET 10+
Örnek yapılandırma
hooks:
postprovision:
run: ./hooks/migrate.cs
. NET'e özgü yapılandırma
Derleme yapılandırmasını ve hedef çerçeveyi config bloğunu kullanarak belirleyin.
hooks:
postprovision:
run: ./hooks/migrate.cs
config:
configuration: Release # Debug | Release
framework: net10.0 # target framework
Çalışma dizinini geçersiz kılma
Kancanın çalışma dizinini ayarlamak için dir alanını kullanın. Bu yapılandırma, proje kökü betik konumundan farklı olduğunda kullanışlıdır:
hooks:
preprovision:
run: main.py
dir: hooks/preprovision
Dilleri ve biçimleri karıştırma
Aynı azure.yaml dosyadaki farklı kancalar için farklı diller kullanın. Çok dilli bağlantıları platforma özgü özelleştirmelerle de birleştirebilirsiniz:
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
İlgili içerik
Yardım isteme
Azure Geliştirici CLI'si için hata oluşturma, yardım isteme veya yeni bir özellik önerme hakkında bilgi için lütfen troubleshooting and support sayfasını ziyaret edin.