Tworzenie Durable Functions przy użyciu Azure Portal
Rozszerzenie Durable Functions dla Azure Functions jest dostępne w Microsoft pakietu NuGet. Azure.WebJobs.Extensions.DurableTask. To rozszerzenie musi być zainstalowane w aplikacji funkcji. W tym artykule przedstawiono sposób instalowania tego pakietu w celu tworzenia trwałych funkcji w Azure Portal.
Uwaga
- Jeśli tworzysz trwałe funkcje w języku C#, zamiast tego należy rozważyć programowanie w programie Visual Studio 2019.
- Jeśli tworzysz trwałe funkcje w języku JavaScript, zamiast tego należy rozważyć Visual Studio Code programowania.
Tworzenie aplikacji funkcji
Aby hostować wykonywanie dowolnej funkcji, musisz mieć aplikację funkcji. Aplikacja funkcji umożliwia grupowanie funkcji jako jednostki logicznej w celu łatwiejszego zarządzania, wdrażania, skalowania i udostępniania zasobów. Możesz utworzyć aplikację .NET lub JavaScript.
W menu witryny Azure Portal lub na stronie głównej wybierz pozycję Utwórz zasób.
Na stronie Nowy wybierz pozycjęAplikacja funkcjiobliczeniowej>.
Na stronie Podstawy użyj ustawień aplikacji funkcji określonych w poniższej tabeli:
Ustawienie Sugerowana wartość Opis Subskrypcja Twoja subskrypcja Subskrypcja, w ramach której utworzysz nową aplikację funkcji. Grupa zasobów myResourceGroup Nazwa nowej grupy zasobów, w której utworzysz aplikację funkcji. Nazwa aplikacji funkcji Nazwa unikatowa w skali globalnej Nazwa identyfikująca nową aplikację funkcji. Prawidłowe znaki to a-z
(bez uwzględniania wielkości liter),0-9
i-
.Publikowanie Kod Opcja publikowania plików kodu lub kontenera Docker. Stos środowiska uruchomieniowego Preferowany język Wybierz środowisko uruchomieniowe, które obsługuje ulubiony język programowania funkcji. Edytowanie w portalu jest dostępne tylko dla skryptów JavaScript, PowerShell, TypeScript i C#. Biblioteki klas języka C#, języka Java i języka Python muszą być opracowywane lokalnie. Wersja Numer wersji Wybierz wersję zainstalowanego środowiska uruchomieniowego. Region Preferowany region Wybierz region , który znajduje się blisko Ciebie lub w pobliżu innych usług, do których mogą uzyskiwać dostęp funkcje. Wybierz pozycję Dalej: Hosting. Na stronie Hosting wprowadź następujące ustawienia:
Ustawienie Sugerowana wartość Opis Konto magazynu Nazwa unikatowa w skali globalnej Utwórz konto magazynu używane przez aplikację funkcji. Nazwy kont magazynu muszą mieć długość od 3 do 24 znaków i mogą zawierać tylko cyfry i małe litery. Możesz również użyć istniejącego konta, które musi spełniać wymagania dotyczące konta magazynu. System operacyjny Windows System operacyjny jest wstępnie wybrany na podstawie wyboru stosu środowiska uruchomieniowego, ale w razie potrzeby można zmienić to ustawienie. Edytowanie w portalu jest obsługiwane tylko w systemie Windows. Planowanie Zużycie (bezserwerowe) Plan hostingu określający sposób przydzielania zasobów do aplikacji funkcji. W domyślnym planie Zużycie zasoby są dodawane dynamicznie zgodnie z wymaganiami funkcji. W tym hostingu bezserwerowym płacisz tylko za czas działania funkcji. W przypadku uruchomienia w ramach planu usługi App Service musisz zarządzać skalowaniem aplikacji funkcji. Wybierz pozycję Dalej: Monitorowanie. Na stronie Monitorowanie wprowadź następujące ustawienia:
Ustawienie Sugerowana wartość Opis Application Insights Domyślny Tworzy zasób usługi Application Insights o tej samej nazwie aplikacji w najbliższym obsługiwanym regionie. Rozwijając to ustawienie lub wybierając pozycję Utwórz nową, możesz zmienić nazwę usługi Application Insights lub wybrać inny region w lokalizacji geograficznej platformy Azure , w której chcesz przechowywać dane. Wybierz pozycję Przejrzyj i utwórz , aby przejrzeć wybrane opcje konfiguracji aplikacji.
Na stronie Przeglądanie + tworzenie przejrzyj ustawienia, a następnie wybierz pozycję Utwórz , aby aprowizować i wdrożyć aplikację funkcji.
Wybierz ikonę Powiadomienia w prawym górnym rogu portalu i poszukaj komunikatu Wdrożenie zakończyło się pomyślnie .
Wybierz pozycję Przejdź do zasobu, aby wyświetlić nową aplikację funkcji. Możesz również wybrać pozycję Przypnij do pulpitu nawigacyjnego. Przypinanie ułatwia powrót do tego zasobu aplikacji funkcji z pulpitu nawigacyjnego.
Domyślnie utworzona aplikacja funkcji używa wersji 2.x środowiska uruchomieniowego Azure Functions. Rozszerzenie Durable Functions działa w obu wersjach 1.x i 2.x środowiska uruchomieniowego Azure Functions w języku C#, a w wersji 2.x w języku JavaScript. Szablony są jednak dostępne tylko w przypadku określania wersji 2.x środowiska uruchomieniowego niezależnie od wybranego języka.
Instalowanie pakietu npm durable-functions (tylko język JavaScript)
Jeśli tworzysz Durable Functions JavaScript, musisz zainstalować durable-functions
pakiet npm:
Na stronie aplikacji funkcji wybierz pozycję Narzędzia zaawansowane w obszarze Narzędzia programistyczne w okienku po lewej stronie.
Na stronie Narzędzia zaawansowane wybierz pozycję Przejdź.
W konsoli Kudu wybierz pozycję Konsola debugowania, a następnie CMD.
Powinna zostać wyświetlona struktura katalogów plików aplikacji funkcji. Przejdź do folderu
site/wwwroot
. Następnie możesz przekazaćpackage.json
plik, przeciągając go i upuszczając go w oknie katalogu plików. Poniżej znajduje się przykładpackage.json
:{ "dependencies": { "durable-functions": "^1.3.1" } }
Po przekazaniu
package.json
polecenia uruchom polecenienpm install
z konsoli zdalnego wykonywania Kudu.
Tworzenie funkcji orkiestratora
W aplikacji funkcji wybierz pozycję Funkcje w okienku po lewej stronie, a następnie wybierz pozycję Dodaj z górnego menu.
W polu wyszukiwania strony Nowa funkcja wprowadź
durable
, a następnie wybierz szablon startowy HTTP Durable Functions.W polu Nowa nazwa funkcji wprowadź wartość
HttpStart
, a następnie wybierz pozycję Utwórz funkcję.Utworzona funkcja służy do uruchamiania aranżacji.
Utwórz inną funkcję w aplikacji funkcji, tym razem przy użyciu szablonu orkiestratora Durable Functions. Nadaj nowej funkcji
HelloSequence
orkiestracji nazwę .Utwórz trzecią funkcję o nazwie
Hello
przy użyciu szablonu działania Durable Functions.
Testowanie orkiestracji funkcji trwałej
Wstecz do funkcji HttpStart, wybierz pozycję Pobierz adres URL funkcji, a następnie wybierz ikonę Kopiuj do schowka, aby skopiować adres URL. Ten adres URL służy do uruchamiania funkcji HelloSequence .
Użyj narzędzia HTTP, takiego jak Postman lub cURL, aby wysłać żądanie POST do skopiowanego adresu URL. Poniższy przykład to polecenie cURL, które wysyła żądanie POST do funkcji trwałej:
curl -X POST https://{your-function-app-name}.azurewebsites.net/api/orchestrators/{functionName} --header "Content-Length: 0"
W tym przykładzie
{your-function-app-name}
jest domeną, która jest nazwą aplikacji funkcji i{functionName}
jest funkcją orkiestratora HelloSequence . Komunikat odpowiedzi zawiera zestaw punktów końcowych identyfikatora URI, które umożliwiają monitorowanie wykonywania i zarządzanie nim, co wygląda podobnie jak w poniższym przykładzie:{ "id":"10585834a930427195479de25e0b952d", "statusQueryGetUri":"https://...", "sendEventPostUri":"https://...", "terminatePostUri":"https://...", "rewindPostUri":"https://..." }
Wywołaj
statusQueryGetUri
identyfikator URI punktu końcowego i zobaczysz bieżący stan funkcji trwałej, co może wyglądać następująco:{ "runtimeStatus": "Running", "input": null, "output": null, "createdTime": "2017-12-01T05:37:33Z", "lastUpdatedTime": "2017-12-01T05:37:36Z" }
Kontynuuj wywoływanie punktu końcowego
statusQueryGetUri
do momentu zmiany stanu na Ukończono i zostanie wyświetlona odpowiedź podobna do następującego przykładu:{ "runtimeStatus": "Completed", "input": null, "output": [ "Hello Tokyo!", "Hello Seattle!", "Hello London!" ], "createdTime": "2017-12-01T05:38:22Z", "lastUpdatedTime": "2017-12-01T05:38:28Z" }
Twoja pierwsza trwała funkcja jest teraz uruchomiona na platformie Azure.