Udostępnij przez


Pakiety rozszerzeń usługi Azure Functions

W tym artykule wyjaśniono, jak pakiety rozszerzeń umożliwiają kodowi funkcji używanie wszystkich wyzwalaczy i powiązań, które obsługuje usługa Azure Functions. Dowiesz się również o poziomach pomocy technicznej i zasadach dla aplikacji podczas korzystania z pakietów rozszerzeń.

Ten artykuł dotyczy tylko deweloperów usługi Azure Functions, którzy używają non-.NET języków. Aby dowiedzieć się, jak dodawać rozszerzenia powiązań bezpośrednio do aplikacji funkcji języka C#, zobacz Rejestrowanie rozszerzeń powiązań usługi Azure Functions.

Overview

Pakiety rozszerzeń dodają wstępnie zdefiniowany zestaw zgodnych rozszerzeń powiązań do aplikacji funkcji. Pakiet zawiera wszystkie rozszerzenia powiązań, które są obecnie obsługiwane przez funkcje. Pakiety rozszerzeń są wersjonowane. Każda wersja zawiera określony zestaw wersji rozszerzenia powiązania, które są weryfikowane do współpracy.

Zawsze należy używać najnowszej wersji pakietu w aplikacji, jeśli jest to możliwe.

Podczas tworzenia projektu usługi Azure Functions na podstawie szablonu non-.NET pakiety rozszerzeń są już włączone w pliku aplikacji host.json .

Definiowanie odwołania do pakietu rozszerzeń

Referencję do pakietu rozszerzeń definiuje się w pliku projektu host.json, dodając sekcję extensionBundle, jak w tym przykładzie:

{
    "version": "2.0",
    "extensionBundle": {
        "id": "Microsoft.Azure.Functions.ExtensionBundle",
        "version": "[4.0.0, 5.0.0)"
    }
}

W tym przykładzie version[4.0.0, 5.0.0) wartość polecenia nakazuje hostowi usługi Functions użycie wersji pakietu, która jest co najmniej 4.0.0 mniejsza niż 5.0.0, która zawiera wszystkie potencjalne wersje 4.x. Ta notacja skutecznie utrzymuje aplikację w najnowszej dostępnej wersji pomocniczej pakietu rozszerzenia v4.x.

W zbiorze extensionBundlesą dostępne następujące właściwości:

Property Description
id Przestrzeń nazw dla pakietów rozszerzeń usługi Azure Functions.
version Zakres wersji pakietu do zainstalowania. Środowisko uruchomieniowe usługi Azure Functions zawsze wybiera maksymalną dozwoloną wersję zdefiniowaną przez zakres wersji lub interwał. Na przykład version[4.0.0, 5.0.0) zakres wartości pozwala na wszystkie wersje pakietu od wersji 4.0.0 do (ale nie wliczając) 5.0.0. Aby uzyskać więcej informacji, zapoznaj się z notacją interwału na potrzeby określania zakresów wersji.

Wskazówka

Możesz również zobaczyć zakres wersji zdefiniowany w host.json jako , który jest interpretowany tak samo jak [4.*, 5.0.0)[4.0.0, 5.0.0).

Wersje pakietu

W tej tabeli wymieniono wszystkie Microsoft.Azure.Functions.ExtensionBundle wersje i bieżący stan pomocy technicznej:

Wersja pakietu Wersja w host.json Stan pomocy technicznej*
4.x [4.0.0, 5.0.0)
[4.*, 5.0.0)
Active
3.x [3.3.0, 4.0.0) Przestarzałe
2.x [2.*, 3.0.0) Przestarzałe
1.x [1.*, 2.0.0) Przestarzałe

* Przestarzałe wersje pakietu mogą zawierać przestarzałe wersje rozszerzenia powiązania. Aby uzyskać optymalną obsługę i niezawodność, należy uaktualnić pakiet do wersji 4.x.

Domyślnie pakiety rozszerzeń są definiowane za pośrednictwem zakresów wersji, co gwarantuje, że jest używana najnowsza wersja pakietu pomocniczego. Wybierz link wersji w tabeli, aby przejrzeć extensions.json plik, który definiuje najnowszy pakiet dla tej wersji głównej.

Zagadnienia dotyczące pakietów rozszerzeń

Podczas pracy z pakietami rozszerzeń należy pamiętać o następujących kwestiach:

  • Jeśli to możliwe, należy ustawić version wartość zakresu z host.json poprzedniej tabeli, na przykład [4.0.0, 5.0.0), zamiast definiować zakres niestandardowy.
  • Użyj najnowszego zakresu wersji, aby uzyskać optymalną wydajność aplikacji i dostęp do najnowszych funkcji.
  • W mało prawdopodobnym przypadku, w którym nie można użyć pakietu rozszerzeń, należy jawnie zainstalować rozszerzenia.
  • Podczas aktualizowania rozszerzeń używanych przez wdrożona aplikacja usługa Functions pobiera nowe wersje rozszerzeń z punktu końcowego cdn.functions.azure.com . Aby aktualizacje rozszerzeń zakończyły się pomyślnie, cdn.functions.azure.com punkt końcowy musi być dostępny dla aplikacji funkcyjnej.

Uaktualnianie pakietów rozszerzeń

Ważne jest, aby zachować wersję pakietu up-to-date, aby aplikacje mogły nadal kwalifikować się do nowych funkcji, poprawek zabezpieczeń i optymalizacji wydajności.

Aby uaktualnić aplikację do najnowszego pakietu, zmodyfikuj plik host.json w katalogu głównym projektu aplikacji. Ustaw wartość extensionBundle.version[4.0.0,5.0.0)na , która powinna wyglądać następująco w pliku host.json:

{
    "version": "2.0",
    "extensionBundle": {
        "id": "Microsoft.Azure.Functions.ExtensionBundle",
        "version": "[4.0.0, 5.0.0)"
    }
}

Podczas uaktualniania wersji pakietu rozszerzenia używanej przez aplikację należy pamiętać o następujących kwestiach:

  • Zawartość najnowszego pakietu 4.x można zawsze znaleźć na tej stronie wydania w repozytorium.
  • Zapoznaj się z dokumentacją referencyjną dla wszelkich rozszerzeń używanych przez aplikację, aby wyszukać wszelkie istotne zmiany między wersjami. Aby uzyskać listę wersji rozszerzeń zawartych w pakiecie domyślnym, zobacz extension.json plik projektu połączony z tej tabeli. Możesz przejrzeć stronę wydań pakietów w repozytorium pakietów dla określonych tagów wersji pakietu.
  • Zawsze sprawdzaj aplikację lokalnie po uaktualnieniu wersji pakietu, aby zapewnić zgodność ze zaktualizowanymi rozszerzeniami. Aby uruchomić aplikację funkcji lokalnie, możesz użyć polecenia func start w narzędziach Azure Functions Core Tools lub F5 w programie Visual Studio lub Visual Studio Code.
  • Sposób wyzwalania aktualizacji rozszerzeń na podstawie zmian wersji pakietu w pliku host.json zależy od środowiska aplikacji:
    • Projekt lokalny: rozszerzenia są aktualizowane lokalnie po uruchomieniu narzędzi Core Tools, zarówno za pomocą polecenia func start, jak i podczas debugowania w narzędziach programistycznych.
    • Aplikacja funkcji: rozszerzenia są aktualizowane podczas wdrażania zaktualizowanego pliku host.json w aplikacji funkcji na platformie Azure.

Zasady obsługi pakietów rozszerzeń

Wersje główne pakietu rozszerzeń mogą wystąpić, gdy w jednym z zawartych rozszerzeń powiązań występują istotne aktualizacje zmian. Te zmiany powodujące niezgodność rozszerzeń wymagają aktualizacji pakietu, aby zachować zgodność z podstawowymi zestawami SDK platformy Azure. Uaktualnienie pakietu gwarantuje, że twoje aplikacje będą nadal otrzymywać nowe funkcje, ulepszenia wydajności i pełną pomoc techniczną dotyczącą produktów.

Uwaga / Notatka

Ponieważ aktualizacje pakietów rozszerzeń są oparte na aktualizacjach w podstawowych zestawach SDK platformy Azure, cykl pomocy technicznej dla pakietów rozszerzeń zwykle jest zgodny z zasadami pomocy technicznej bazowych zestawów SDK platformy Azure.

Firma Microsoft powiadamia Cię, gdy pakiet rozszerzeń lub wersja rozszerzenia powiązania jest przestarzała. Te powiadomienia mogą być wyświetlane w różnych częściach środowiska usługi Functions, takich jak dzienniki hosta, tabele usługi Application Insights lub witryna Azure Portal. W przypadku napotkania tych powiadomień należy rozpocząć proces planowania i uaktualniania aplikacji funkcji do najnowszej obsługiwanej wersji pakietu rozszerzeń.

Cykl obsługi pakietów rozszerzeń jest zgodny z następującymi różnymi fazami:

Phase Description
Preview Wersje wstępne określonych rozszerzeń powiązań są obsługiwane w pakiecie rozszerzeń w wersji zapoznawczej (Microsoft.Azure.Functions.ExtensionBundle.Preview). Możesz użyć tego pakietu rozszerzeń w wersji zapoznawczej, aby skorzystać z rozszerzeń w wersji zapoznawczej i nowych zachowań w istniejących rozszerzeniach, zanim dotrą do ogólnej dostępności. Aby uzyskać więcej informacji, zobacz Work with preview extension bundles (Praca z pakietami rozszerzeń w wersji zapoznawczej).
Aktywne Najnowsza wersja główna pakietów rozszerzeń jest uważana za aktywną wersję. Zalecamy tę wersję dla aplikacji funkcyjnych.
Oczekiwany Wersja pakietu jest zastępowana przez nowszą wersję i jest teraz przestarzała. Gdy pakiet jest przestarzały, otrzymuje tylko krytyczne poprawki błędów i aktualizacje zabezpieczeń przez ograniczony nakładające się okresy. Nakładanie się na siebie jest zwykle co najmniej 12 miesięcy, co zapewnia czas planowania, testowania i uaktualniania aplikacji do najnowszej wersji pakietu.

Aplikacje funkcji, które nadal używają przestarzałego pakietu, mogą nadal działać na platformie. Aby jednak zapewnić dostęp do nowych funkcji, ulepszeń wydajności, poprawek zabezpieczeń i pełnej obsługi, należy uaktualnić aplikacje funkcji do obsługiwanej wersji pakietu.

Wersje pakietu rozszerzeń i ich dołączone rozszerzenia można wyświetlić w repozytorium pakietów rozszerzeń usługi Azure Functions. Możesz również wyświetlić stronę wersji zestawu Azure SDK, aby zapoznać się ze spisem wszystkich rozszerzeń usługi Functions. Poszczególne pakiety .NET można znaleźć na NuGet.org.

Praca z pakietami rozszerzeń w wersji zapoznawczej

Należy pamiętać o tych kwestiach, jeśli zdecydujesz się użyć zestawu rozszerzeń innego niż GA.

  • Pakiety w wersji zapoznawczej mogą zawierać funkcje, które są nadal opracowywane i nie są jeszcze gotowe do użycia w środowisku produkcyjnym. Są one przeznaczone do oceny i testowania w środowiskach nieprodukcyjnych.
  • Zmiany powodujące niezgodność występują między wersjami wersji zapoznawczej bez wcześniejszego powiadomienia. Mogą one obejmować zmiany w następujących elementach:
    • Definicje wyzwalaczy i powiązań.
    • Rozszerzenia uwzględnione w wersji zapoznawczej.
    • Charakterystyka wydajności i stabilność.
  • Aktualizacje zabezpieczeń mogą wymagać uaktualnienia wersji.
  • Należy całkowicie przetestować pakiety w wersji zapoznawczej w środowiskach nieprodukcyjnych i unikać używania pakietów w wersji zapoznawczej w środowisku produkcyjnym. Jeśli musisz użyć pakietu w wersji zapoznawczej w środowisku produkcyjnym, zastosuj następujące dodatkowe środki ostrożności:
    • Przypnij pakiet do konkretnej, dobrze przetestowanej wersji pakietu, a nie do zakresu. Przypinanie uniemożliwia automatyczne uaktualnianie wersji pakietu przed sprawdzeniem aktualizacji w środowisku nieprodukcyjnym.
    • Przenieś aplikację do wersji pakietu ogólnodostępnej, gdy tylko funkcja stanie się dostępna w w pełni obsługiwanej wersji pakietu.
  • Aby być na bieżąco z aktualizacjami pakietów, w tym przejściem z wersji zapoznawczej do ogólnie dostępnej wersji zapoznawczej, należy: