Azure İşlevleri bağlama uzantılarını kaydetme
Azure İşlevleri sürüm 2.x'den başlayarak, işlevler çalışma zamanı varsayılan olarak yalnızca HTTP ve zamanlayıcı tetikleyicilerini içerir. Diğer tetikleyiciler ve bağlamalar ayrı paketler olarak kullanılabilir.
.NET sınıf kitaplığı işlevleri uygulamaları, projeye NuGet paketleri olarak yüklenen bağlamaları kullanır. Uzantı paketleri, non-.NET işlevleri uygulamalarının .NET altyapısıyla ilgilenmek zorunda kalmadan aynı bağlamaları kullanmasına olanak sağlar.
Aşağıdaki tabloda bağlamaları ne zaman ve nasıl kaydettiğiniz gösterilir.
Geliştirme ortamı | Kayıt İşlevler 1.x'te |
Kayıt İşlevler 2.x veya sonraki sürümlerde |
---|---|---|
Azure portal | Otomatik | Otomatik* |
Non-.NET dilleri | Otomatik | Uzantı paketlerini kullanma (önerilen) veya uzantıları açıkça yükleme |
Visual Studio kullanarak C# sınıf kitaplığı | NuGet araçlarını kullanma | NuGet araçlarını kullanma |
Visual Studio Code kullanarak C# sınıf kitaplığı | Yok | .NET Core CLI kullanma C# Geliştirme Setini kullanma |
* Portal, C# betiği dahil olmak üzere uzantı paketlerini kullanır.
Uzantı paketleri
Varsayılan olarak, uzantı paketleri şu dillerdeki işlevler için bağlama desteği sağlar:
- Java
- JavaScript
- PowerShell
- Python
- C# betiği
- Diğer (özel işleyiciler)
Uzantı paketlerinin kullanılamadığı nadir durumlarda, bağlama uzantılarını işlev uygulaması projenizle açıkça yükleyebilirsiniz. Uzantı paketleri İşlevler çalışma zamanının 2.x ve sonraki sürümleri için desteklenir.
Uzantı paketleri, işlev uygulamanıza önceden tanımlanmış bir uyumlu bağlama uzantıları kümesi eklemenin bir yoludur. Uzantı paketleri sürümü oluşturulur. Her sürüm, birlikte çalıştığı doğrulanmış belirli bir bağlama uzantıları kümesi içerir. Uygulamanızda ihtiyacınız olan uzantılara göre bir paket sürümü seçin.
Araçlardan veya portaldan bir non-.NET İşlevleri projesi oluşturduğunuzda, uzantı paketleri uygulamanın host.json dosyasında zaten etkinleştirilir.
Uzantı paketi başvurusu, bir host.json bölümünde aşağıdaki gibi tanımlanırextensionBundle
:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.0.0, 5.0.0)"
}
}
Aşağıdaki özellikler extensionBundle
öğesinde kullanıma sunuldu:
Özellik | Açıklama |
---|---|
id |
Microsoft Azure İşlevleri uzantı paket gruplarına yönelik ad alanı. |
version |
Yüklenecek paketin sürüm aralığı. İşlevler çalışma zamanı her zaman sürüm aralığı tarafından tanımlanan, izin verilen en yüksek sürümü seçer. Örneğin, değer version aralığı [4.0.0, 5.0.0) 4.0.0'dan 5.0.0'a kadar olan tüm paket sürümlerine izin verir ancak 5.0.0'ı içermez. Daha fazla bilgi için bkz. sürüm aralıklarını belirtmeye yönelik aralık gösterimi. |
Aşağıdaki tabloda, varsayılan Microsoft.Azure.Functions.ExtensionBundle paketlerinin şu anda kullanılabilir sürüm aralıkları ve içerdikleri uzantıların bağlantıları listelenmektedir.
Paket sürümü | host.json sürümü | Dahil edilen uzantılar |
---|---|---|
1.x | [1.*, 2.0.0) |
Bkz. paketi oluşturmak için kullanılan extensions.json . |
2.x | [2.*, 3.0.0) |
Bkz. paketi oluşturmak için kullanılan extensions.json . |
3.x | [3.3.0, 4.0.0) |
Bkz. paketi oluşturmak için kullanılan extensions.json . |
4.x | [4.0.0, 5.0.0) |
Bkz. paketi oluşturmak için kullanılan extensions.json . |
Not
host.json için version
özel aralıkları desteklese de, bu tablodan bir sürüm aralığı değeri kullanmalısınız, örneğin [4.0.0, 5.0.0)
. Her sürümdeki uzantı paketi sürümlerinin ve uzantı sürümlerinin tam listesi için uzantı paketleri sürüm sayfasına bakın.
Uzantıları açıkça yükleme
Derlenmiş C# sınıf kitaplığı projeleri (işlem içi ve yalıtılmış çalışan işlemi) için, normalde yaptığınız gibi ihtiyacınız olan uzantılar için NuGet paketlerini yüklersiniz. Örnekler için Visual Studio Code geliştirici kılavuzuna veya Visual Studio geliştirici kılavuzuna bakın. Uyumlu olduğu doğrulanmış uzantı sürümlerinin birleşimlerini gözden geçirmek için uzantı paketleri yayın sayfasına bakın.
non-.NET dilleri ve C# betiği için uzantı paketlerini kullanamıyorsanız gerekli bağlama uzantılarını yerel projenize el ile yüklemeniz gerekir. En kolay yol, Azure İşlevleri Temel Araçları kullanmaktır. Daha fazla bilgi için bkz . func uzantıları yükleme.
Yalnızca portal geliştirme için işlev uygulamanızın kökünde el ile bir extensions.csproj dosyası oluşturmanız gerekir. Daha fazla bilgi edinmek için bkz . Uzantıları el ile yükleme.