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

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.

  1. W menu witryny Azure Portal lub na stronie głównej wybierz pozycję Utwórz zasób.

  2. Na stronie Nowy wybierz pozycjęAplikacja funkcjiobliczeniowej>.

  3. 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-9i -.
    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.
  4. 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.
  5. 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.
  6. Wybierz pozycję Przejrzyj i utwórz , aby przejrzeć wybrane opcje konfiguracji aplikacji.

  7. Na stronie Przeglądanie + tworzenie przejrzyj ustawienia, a następnie wybierz pozycję Utwórz , aby aprowizować i wdrożyć aplikację funkcji.

  8. Wybierz ikonę Powiadomienia w prawym górnym rogu portalu i poszukaj komunikatu Wdrożenie zakończyło się pomyślnie .

  9. 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.

    Zrzut ekranu przedstawiający powiadomienie o wdrożeniu.

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:

  1. Na stronie aplikacji funkcji wybierz pozycję Narzędzia zaawansowane w obszarze Narzędzia programistyczne w okienku po lewej stronie.

    Funkcje platformy functions wybierają kudu

  2. Na stronie Narzędzia zaawansowane wybierz pozycję Przejdź.

  3. W konsoli Kudu wybierz pozycję Konsola debugowania, a następnie CMD.

    Konsola debugowania Kudu

  4. 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ład package.json :

    {
      "dependencies": {
        "durable-functions": "^1.3.1"
      }
    }
    

    Przekazywanie pliku package.json w usłudze Kudu

  5. Po przekazaniu package.json polecenia uruchom polecenie npm install z konsoli zdalnego wykonywania Kudu.

    Uruchamianie narzędzia Npm w usłudze Kudu

Tworzenie funkcji orkiestratora

  1. W aplikacji funkcji wybierz pozycję Funkcje w okienku po lewej stronie, a następnie wybierz pozycję Dodaj z górnego menu.

  2. W polu wyszukiwania strony Nowa funkcja wprowadź durable, a następnie wybierz szablon startowy HTTP Durable Functions.

    Wybieranie szablonu startowego HTTP Durable Functions

  3. 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.

  4. Utwórz inną funkcję w aplikacji funkcji, tym razem przy użyciu szablonu orkiestratora Durable Functions. Nadaj nowej funkcji HelloSequenceorkiestracji nazwę .

  5. Utwórz trzecią funkcję o nazwie Hello przy użyciu szablonu działania Durable Functions.

Testowanie orkiestracji funkcji trwałej

  1. 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 .

  2. 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://..."
    }
    
  3. 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"
        }
    
  4. 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.

Następne kroki