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

* Portal, C# betiği dahil olmak üzere uzantı paketlerini kullanır.

Uzantı paketleri

Varsayılan olarak, uzantı paketleri bağlama uzantılarıyla çalışmak için Java, JavaScript, PowerShell, Python, C# betiği ve Özel İşleyici işlevi uygulamaları tarafından kullanılır. Uzantı paketlerinin kullanılamadığı 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).

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.

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.

Sonraki adımlar