Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Pisanie funkcji stanowych w środowisku bezserwerowym przy użyciu rozszerzenia Durable Functions, funkcji usługi Azure Functions. Scenariusze, w których funkcja Durable Functions jest przydatna, obejmują organizowanie mikrousług i przepływów pracy, wzorce stanowe, takie jak fan-out/fan-in i długotrwałe zadania.
Aby przechowywać aranżację i stan środowiska uruchomieniowego jednostki, możesz użyć narzędzia Durable Task Scheduler jako zaplecza dla usługi Durable Functions.
W ramach tego szybkiego przewodnika wykonasz następujące czynności:
- Skonfiguruj istniejącą aplikację Durable Functions do korzystania z harmonogramu zadań Durable Task Scheduler.
- Skonfiguruj emulator rozszerzenia Durable Task na potrzeby programowania lokalnego.
- Wdróż aplikację na platformie Azure w planie usługi App Service przy użyciu programu Visual Studio Code.
- Monitoruj stan aplikacji i centrum zadań na pulpicie nawigacyjnym narzędzia Durable Task Scheduler.
Wymagania wstępne
W tym przewodniku Szybki start założono, że masz już projekt usługi Azure Functions na komputerze lokalnym z następującymi elementami:
- Funkcje trwałe dodane do projektu, w tym:
- Funkcja orkiestratora.
- Funkcja kliencka, która wyzwala aplikację Durable Functions.
- Projekt skonfigurowany do debugowania lokalnego.
Jeśli nie spełniasz tych wymagań wstępnych, zalecamy, aby zacząć od jednego z następujących szybkich przewodników w celu przygotowania lokalnego projektu Functions.
Potrzebne są również następujące elementy:
- Platforma Docker zainstalowana w celu uruchomienia emulatora harmonogramu zadań Durable.
- Zainstalowano aplikację Azurite.
- Narzędzie do testowania HTTP, które zapewnia bezpieczeństwo danych.
Dodawanie pakietu Durable Task Scheduler
Zainstaluj najnowszą wersję pakietu Microsoft.Azure.Functions.Worker.Extensions.DurableTask.AzureManaged przy użyciu polecenia dotnet add package :
dotnet add package Microsoft.Azure.Functions.Worker.Extensions.DurableTask.AzureManaged --prerelease
Uwaga
Rozszerzenie Durable Task Scheduler wymaga wersji Microsoft.Azure.Functions.Worker.Extensions.DurableTask lub nowszej.1.2.2
W host.jsonzaktualizuj właściwość extensionBundle, aby używać wersji zapoznawczej zawierającej pakiet Durable Task Scheduler.
{
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle.Preview",
"version": "[4.29.0, 5.0.0)"
}
}
Aktualizacja host.json
Zaktualizuj host.json w następujący sposób, aby używać narzędzia Durable Task Scheduler jako zaplecza.
{
"extensions": {
"durableTask": {
"hubName": "%TASKHUB_NAME%",
"storageProvider": {
"type": "azureManaged",
"connectionStringName": "DURABLE_TASK_SCHEDULER_CONNECTION_STRING"
}
}
}
}
Skonfiguruj local.settings.json
Dodaj informacje o połączeniu na potrzeby programowania lokalnego:
{
"IsEncrypted": false,
"Values": {
"FUNCTIONS_WORKER_RUNTIME": "<DEPENDENT ON YOUR PROGRAMMING LANGUAGE>",
"AzureWebJobsStorage": "UseDevelopmentStorage=true",
"DURABLE_TASK_SCHEDULER_CONNECTION_STRING": "Endpoint=http://localhost:8080;Authentication=None",
"TASKHUB_NAME": "default"
}
}
Skonfiguruj emulator Durable Task
Pobierz obraz Dockera zawierający emulator.
docker pull mcr.microsoft.com/dts/dts-emulator:latestUruchom emulator.
docker run -d -p 8080:8080 -p 8082:8082 mcr.microsoft.com/dts/dts-emulator:latestNastępujące dane wyjściowe wskazują, że emulator został uruchomiony pomyślnie.
Zanotuj porty uwidocznione w Docker Desktop. Harmonogram uwidacznia wiele portów w różnych celach:
-
8080: punkt końcowy gRPC, który umożliwia aplikacji łączenie się z harmonogramem -
8082: Punkt końcowy dla pulpitu nawigacyjnego narzędzia Durable Task Scheduler
-
Testowanie lokalne
Przejdź do katalogu głównego aplikacji i uruchom aplikację Azurite.
azurite startUruchom aplikację.
func startPowinna zostać wyświetlona lista funkcji w aplikacji. Jeśli utworzyłeś aplikację, postępując według jednego z szybkich przewodników dotyczących Durable Functions, powinny zostać wyświetlone dane wyjściowe podobne do następujących:
Uruchom wystąpienie orkiestracji, wysyłając żądanie HTTP
POSTdo punktu końcowego adresu URL, używając wybranego przez Ciebie narzędzia testowego HTTP.Skopiuj wartość adresu URL dla
statusQueryGetUrii wklej ją w pasku adresu przeglądarki. Powinieneś zobaczyć status wystąpienia orkiestracji:{ "name": "DurableFunctionsOrchestrationCSharp1", "instanceId": "b50f8b723f2f44149ab9fd2e3790a0e8", "runtimeStatus": "Completed", "input": null, "customStatus": null, "output": [ "Hello Tokyo!", "Hello Seattle!", "Hello London!" ], "createdTime": "2025-02-21T21:09:59Z", "lastUpdatedTime": "2025-02-21T21:10:00Z" }Aby wyświetlić więcej szczegółów dotyczących wystąpienia aranżacji, przejdź do http://localhost:8082/ pulpitu nawigacyjnego narzędzia Durable Task Scheduler.
Kliknij domyślne centrum zadań, aby wyświetlić jego pulpit nawigacyjny.
Uwaga
Dowiedz się więcej o pulpicie nawigacyjnym narzędzia Durable Task Scheduler.
Emulator narzędzia Durable Task Scheduler przechowuje dane orkiestracji w pamięci, co oznacza, że wszystkie dane zostaną utracone po zamknięciu.
Występują problemy z testowaniem? Zobacz przewodnik rozwiązywania problemów.
Uruchamianie aplikacji na platformie Azure
Tworzenie wymaganych zasobów
Utwórz wystąpienie usługi Durable Task Scheduler i aplikację Azure Functions na platformie Azure, postępując zgodnie ze zintegrowanym przepływem tworzenia aplikacji funkcji. To środowisko automatycznie skonfiguruje dostęp oparty na tożsamościach i skonfiguruje wymagane zmienne środowiskowe dla aplikacji w celu uzyskania dostępu do harmonogramu.
Przejdź do panelu tworzenia aplikacji funkcji.
Na stronie Tworzenie aplikacji funkcji (Flex Consumption) wypełnij informacje na karcie Podstawy.
(No changes needed) Opis Subskrypcja Wybierz subskrypcję platformy Azure. Grupa zasobów Wybierz istniejącą grupę zasobów lub kliknij Utwórz nową, aby utworzyć nową. Nazwa Function App Utwórz unikatową nazwę aplikacji funkcyjnej. Czy chcesz wdrożyć kod lub obraz kontenera? Pozostaw zaznaczoną opcję Kod. Rejon Wybierz jeden z obsługiwanych regionów. Stos środowiska uruchomieniowego Wybierz środowisko uruchomieniowe, którego używasz na potrzeby tego przewodnika szybkiego startu. wersja Wybierz wersję środowiska uruchomieniowego. Rozmiar wystąpienia Wybierz rozmiar wystąpienia lub użyj zaznaczenia domyślnego. Dowiedz się więcej o rozmiarach wystąpień. Redundancja strefowa Pozostaw domyślne ustawienie Wyłączone . Wybierz zakładkę Durable Functions.
Wybierz Zarządzany przez Azure: Durable Task Scheduler jako dostawcę zaplecza dla Durable Functions.
Utwórz zasób harmonogramu. Ta akcja automatycznie tworzy centrum zadań.
(No changes needed) Opis Zaplecze magazynu Wybierz pozycję Zarządzane przez platformę Azure: Trwały harmonogram zadań. Rejon Upewnij się, że regiony aplikacji harmonogramu i funkcji są takie same. Trwały harmonogram zadań Użyj oferowanej nazwy harmonogramu lub kliknij Utwórz nową, aby utworzyć nazwę niestandardową. Planowanie Wybierz plan cenowy , który najlepiej pasuje do projektu. Zapoznaj się z przewodnikiem Wybieranie struktury aranżacji , aby określić, który plan jest najlepszy do użycia w środowisku produkcyjnym. Jednostki pojemności Ma zastosowanie tylko wtedy, gdy wybrano plan cenowy "Dedykowany". Możesz wybrać maksymalnie 3 jednostki pojemności. Kliknij Przejrzyj i utwórz, aby przejrzeć proces tworzenia zasobów.
Tożsamość zarządzana przypisana przez użytkownika z wymaganym uprawnieniem kontroli dostępu opartej na rolach (RBAC) jest tworzona automatycznie i dodawana do aplikacji funkcji. W podglądzie podsumowania można znaleźć informacje związane z zasobem tożsamości zarządzanej, takie jak:
Przypisana do niego rola (kontrybutor danych o zadaniach trwałych)
Przypisanie ograniczone na poziomie centrum operacyjnego
Po zakończeniu walidacji kliknij Utwórz.
Wdrażanie zasobów może potrwać od około 15 do 20 minut. Po zakończeniu możesz wdrożyć aplikację na platformie Azure.
Wdrażanie aplikacji funkcyjnej na platformie Azure
Ważne
Wdrażanie w istniejącej aplikacji funkcji zawsze zastępuje zawartość tej aplikacji na platformie Azure.
W palecie poleceń wprowadź i wybierz pozycję Azure Functions: Deploy to Function App (Azure Functions: Wdróż w aplikacji funkcji).
Wybierz właśnie utworzoną aplikację funkcji. Po wyświetleniu monitu o zastąpienie poprzednich wdrożeń wybierz pozycję Wdróż , aby wdrożyć kod funkcji w nowym zasobie aplikacji funkcji.
Po zakończeniu wdrażania wybierz pozycję Wyświetl dane wyjściowe , aby wyświetlić wyniki tworzenia i wdrażania, w tym utworzone zasoby platformy Azure. Jeśli przegapisz powiadomienie, wybierz ikonę dzwonka w prawym dolnym rogu, aby zobaczyć je ponownie.
Aplikacje w planie Premium usługi Functions
Jeśli aplikacja jest uruchomiona w planie usługi Functions Premium, włącz ustawienie Monitorowanie skalowania środowiska uruchomieniowego po wdrożeniu, aby upewnić się, że aplikacja jest automatycznie skalowana na podstawie obciążenia:
az resource update -g <resource_group> -n <function_app_name>/config/web --set properties.functionsRuntimeScaleMonitoringEnabled=1 --resource-type Microsoft.Web/sites
Przetestuj aplikację funkcji
Uruchom następujące polecenie, aby uzyskać adres URL funkcji:
az functionapp function list --resource-group <RESOURCE_GROUP_NAME> --name <FUNCTION_APP_NAME> --query '[].{Function:name, URL:invokeUrlTemplate}' --output json
Sprawdź stan orkiestracji
Sprawdź status instancji orkiestracji i szczegóły aktywności na konsoli narzędzia Durable Task Scheduler. Uzyskiwanie dostępu do pulpitu nawigacyjnego wymaga zalogowania się.
Uwaga
Poniższa instrukcja przedstawia przypisanie roli o określonym zakresie do określonego centrum zadań. Jeśli potrzebujesz dostępu do wszystkich węzłów zadań w planu, wykonaj przypisanie na poziomie planisty.
Przejdź do zasobu Durable Task Scheduler w portalu.
Kliknij nazwę centrum zadań.
W menu po lewej stronie wybierz pozycję Kontrola dostępu (Zarządzanie dostępem i tożsamościami)..
Kliknij Dodaj, aby dodać przypisanie roli.
Zrzut ekranu z dodawania przypisania roli w okienku kontroli dostępu w portalu.
Wyszukaj i wybierz Durable Task Data Contributor. Kliknij przycisk Dalej.
Na karcie Członkowie, w polu Przypisz dostęp do, wybierz Użytkownik, grupa lub jednostka usługi.
Dla członków kliknij + Wybierz członków.
W sekcji wyboru członków, wyszukaj swoje imię i nazwisko lub adres e-mail.
Zrzut ekranu przedstawiający wybieranie typu tożsamości zarządzanej przypisanej przez użytkownika w portalu.
Wybierz wiadomość e-mail i kliknij przycisk Wybierz.
Kliknij Przejrzyj i przypisz, aby zakończyć przypisywanie roli.
Po przypisaniu roli kliknij Przegląd w menu po lewej stronie zasobu centrum zadań i przejdź do adresu URL pulpitu nawigacyjnego znajdującego się w górnej części sekcji Podstawowe.
Czyszczenie zasobów
Jeśli nie potrzebujesz już zasobów utworzonych do ukończenia tego przewodnika Szybki start, aby uniknąć powiązanych kosztów w ramach subskrypcji platformy Azure, usuń grupę zasobów i wszystkie powiązane zasoby.
Następne kroki
- Dowiedz się więcej o pulpicie nawigacyjnym narzędzia Durable Task Scheduler.
- Rozwiązywanie problemów z błędami, które mogą wystąpić podczas korzystania z narzędzia Durable Task Scheduler.