Udostępnij za pośrednictwem


Szybki start: tworzenie aplikacji Durable Functions programu PowerShell

Użyj rozszerzenia Durable Functions, funkcji usługi Azure Functions, aby napisać funkcje stanowe w środowisku bezserwerowym. Rozszerzenie Durable Functions można zainstalować, instalując rozszerzenie usługi Azure Functions w programie Visual Studio Code. Rozszerzenie zarządza stanem, punktami kontrolnymi i ponownymi uruchomieniami w aplikacji.

W tym przewodniku Szybki start użyjesz rozszerzenia Durable Functions w programie Visual Studio Code, aby lokalnie utworzyć i przetestować aplikację Durable Functions "hello world" w usłudze Azure Functions. Aplikacja Durable Functions organizuje i tworzy łańcuchy wywołań do innych funkcji. Następnie opublikujesz kod funkcji na platformie Azure. Używane narzędzia są dostępne za pośrednictwem rozszerzenia programu Visual Studio Code.

Uruchamianie aplikacji Durable Functions na platformie Azure.

Wymagania wstępne

Aby ukończyć ten przewodnik Szybki Start, musisz spełnić następujące warunki:

Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto platformy Azure.

Tworzenie projektu lokalnego

W tej sekcji użyjesz programu Visual Studio Code do utworzenia lokalnego projektu usługi Azure Functions.

  1. W programie Visual Studio Code wybierz F1 (lub naciśnij Ctrl/Cmd+Shift+P), aby otworzyć paletę poleceń. Po wyświetleniu monitu () wprowadź , a następnie wybierz pozycję Azure Functions: Create New Project (>Azure Functions: Utwórz nowy projekt).

    Zrzut ekranu przedstawiający polecenie Utwórz funkcję.

  2. Wybierz przycisk Przeglądaj. W oknie dialogowym Wybieranie folderu przejdź do folderu, który ma być używany dla projektu, a następnie wybierz pozycję Wybierz.

  3. Po wyświetleniu monitów podaj następujące informacje:

    Monit Akcja opis
    Wybieranie języka projektu aplikacji funkcji Wybierz opcję PowerShell. Tworzy lokalny projekt usługi PowerShell Functions.
    Wybierz wersję Wybierz pozycję Azure Functions w wersji 4. Ta opcja jest widoczna tylko wtedy, gdy narzędzia Core Tools nie są jeszcze zainstalowane. W takim przypadku narzędzia Core Tools są instalowane po raz pierwszy podczas uruchamiania aplikacji.
    Wybieranie szablonu dla pierwszej funkcji projektu Wybierz pozycję Pomiń na razie.
    Wybierz sposób otwierania projektu Wybierz pozycję Otwórz w bieżącym oknie. Otwiera program Visual Studio Code w wybranym folderze.

Program Visual Studio Code instaluje narzędzia Azure Functions Core Tools, jeśli jest wymagane do utworzenia projektu. Tworzy również projekt aplikacji funkcji w folderze. Ten projekt zawiera pliki konfiguracji host.json i local.settings.json .

Plik package.json jest również tworzony w folderze głównym.

Konfigurowanie aplikacji funkcji do korzystania z programu PowerShell 7

Otwórz plik local.settings.json i upewnij się, że ustawienie o nazwie FUNCTIONS_WORKER_RUNTIME_VERSION ma ustawioną wartość ~7. Jeśli brakuje go lub jeśli jest ona ustawiona na inną wartość, zaktualizuj zawartość pliku.

{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "",
    "FUNCTIONS_WORKER_RUNTIME": "powershell",
    "FUNCTIONS_WORKER_RUNTIME_VERSION" : "~7"
  }
}

Tworzenie funkcji

Najbardziej podstawowa aplikacja Durable Functions ma trzy funkcje:

  • Funkcja orkiestratora: przepływ pracy, który organizuje inne funkcje.
  • Funkcja działania: funkcja wywoływana przez funkcję orkiestratora, wykonuje pracę i opcjonalnie zwraca wartość.
  • Funkcja klienta: zwykła funkcja na platformie Azure, która uruchamia funkcję orkiestratora. W tym przykładzie użyto funkcji wyzwalanej przez protokół HTTP.

Orchestrator, funkcja

Użyj szablonu, aby utworzyć kod aplikacji Durable Functions w projekcie.

  1. W palecie poleceń wprowadź , a następnie wybierz pozycję Azure Functions: Create Function (Azure Functions: Utwórz funkcję).

  2. Po wyświetleniu monitów podaj następujące informacje:

    Monit Akcja opis
    Wybieranie szablonu dla funkcji Wprowadź ciąg Durable Functions orchestrator. Tworzy aranżację aplikacji Durable Functions.
    Podaj nazwę funkcji Wprowadź ciąg HelloOrchestrator. Nazwa funkcji trwałej.

Dodano orkiestrator do koordynowania funkcji działania. Otwórz plik HelloOrchestrator/run.ps1 , aby wyświetlić funkcję orkiestratora. Każde wywołanie polecenia cmdlet Invoke-ActivityFunction wywołuje funkcję działania o nazwie Hello.

Następnie dodasz przywołyną Hello funkcję działania.

Activity, funkcja

  1. W palecie poleceń wprowadź , a następnie wybierz pozycję Azure Functions: Create Function (Azure Functions: Utwórz funkcję).

  2. Po wyświetleniu monitów podaj następujące informacje:

    Monit Akcja opis
    Wybieranie szablonu dla funkcji Wybierz pozycję Działanie rozszerzenia Durable Functions. Tworzy funkcję działania.
    Podaj nazwę funkcji Wprowadź witaj. Nazwa funkcji działania.

Dodano Hello funkcję działania wywoływaną przez koordynatora. Otwórz plik Hello/run.ps1 , aby zobaczyć, że przyjmuje nazwę jako dane wejściowe i zwraca powitanie. Funkcja działania polega na wykonywaniu akcji, takich jak wykonywanie wywołania bazy danych lub wykonywanie obliczeń.

Na koniec dodasz funkcję wyzwalaną przez protokół HTTP, która uruchamia orkiestrację.

Funkcja klienta (starter HTTP)

  1. W palecie poleceń wprowadź , a następnie wybierz pozycję Azure Functions: Create Function (Azure Functions: Utwórz funkcję).

  2. Po wyświetleniu monitów podaj następujące informacje:

    Monit Akcja opis
    Wybieranie szablonu dla funkcji Wybierz pozycję Durable Functions HTTP starter. Tworzy funkcję startową HTTP.
    Podaj nazwę funkcji Wprowadź ciąg HttpStart. Nazwa funkcji działania.
    Poziom autoryzacji Wybierz pozycję Anonimowe. W celach demonstracyjnych ta wartość umożliwia wywoływanie funkcji bez użycia uwierzytelniania.

Dodano funkcję wyzwalaną przez protokół HTTP, która uruchamia orkiestrację. Otwórz plik HttpStart/run.ps1 , aby sprawdzić, czy używa polecenia cmdlet Start-NewOrchestration, aby rozpocząć nową aranżację. Następnie używa polecenia cmdlet New-OrchestrationCheckStatusResponse, aby zwrócić odpowiedź HTTP zawierającą adresy URL, których można użyć do monitorowania nowej aranżacji i zarządzania nią.

Masz teraz aplikację Durable Functions, którą można uruchomić lokalnie i wdrożyć na platformie Azure.

Uwaga

Następna wersja aplikacji Durable Functions PowerShell jest teraz dostępna w wersji zapoznawczej. Możesz pobrać go z Galeria programu PowerShell. Dowiedz się więcej na ten temat i dowiedz się, jak wypróbować go w przewodniku po autonomicznym zestawie SDK programu PowerShell. Aby uzyskać instrukcje zgodne z tym przewodnikiem Szybki start, możesz postępować zgodnie z sekcją dotyczącą instalacji przewodnika.

Lokalne testowanie funkcji

Narzędzia Azure Functions Core Tools umożliwiają uruchamianie projektu usługi Azure Functions na lokalnym komputerze deweloperów. Zostanie wyświetlony monit o zainstalowanie tych narzędzi przy pierwszym uruchomieniu funkcji w programie Visual Studio.

  1. Aby przetestować funkcję, ustaw punkt przerwania w Hello kodzie funkcji działania (w pliku Hello/run.ps1). Wybierz pozycję F5 lub wybierz pozycję Debuguj: rozpocznij debugowanie na palecie poleceń, aby uruchomić projekt aplikacji funkcji. Dane wyjściowe z narzędzi Core Tools są wyświetlane na panelu terminalu.

    Uwaga

    Aby uzyskać więcej informacji na temat debugowania, zobacz Diagnostyka rozszerzenia Durable Functions.

  2. Rozszerzenie Durable Functions wymaga uruchomienia konta usługi Azure Storage. Gdy program Visual Studio Code wyświetli monit o wybranie konta magazynu, wybierz pozycję Wybierz konto magazynu.

    Zrzut ekranu przedstawiający polecenie Utwórz konto magazynu.

  3. Po wyświetleniu monitu podaj następujące informacje, aby utworzyć nowe konto magazynu na platformie Azure.

    Monit Akcja opis
    Wybierz subskrypcję Wybierz nazwę subskrypcji. Swoją subskrypcję platformy Azure.
    Wybieranie konta magazynu Wybierz pozycję Utwórz nowe konto magazynu.
    Wprowadź nazwę nowego konta magazynu Wprowadź unikatową nazwę. Nazwa konta magazynu do utworzenia.
    Wybierz grupę zasobów Wprowadź unikatową nazwę. Nazwa grupy zasobów do utworzenia.
    Wybierz lokalizację Określ region platformy Azure. Wybierz region, który jest blisko Ciebie.
  4. Na panelu terminalu skopiuj punkt końcowy adresu URL funkcji wyzwalanej przez protokół HTTP.

    Zrzut ekranu przedstawiający lokalne dane wyjściowe platformy Azure.

  5. Użyj przeglądarki lub narzędzia testowego HTTP, aby wysłać żądanie HTTP POST do punktu końcowego adresu URL.

    Zastąp ostatni segment nazwą funkcji orkiestratora (HelloOrchestrator). Adres URL powinien być podobny do http://localhost:7071/api/orchestrators/HelloOrchestrator.

    Odpowiedź to początkowy wynik funkcji HTTP. Informuje o tym, że trwała aranżacja została pomyślnie uruchomiona. Nie wyświetla jeszcze wyniku końcowego aranżacji. Odpowiedź zawiera kilka przydatnych adresów URL. Na razie wykonaj zapytanie dotyczące stanu aranżacji.

  6. Skopiuj wartość adresu URL dla statusQueryGetUri, wklej ją na pasku adresu przeglądarki i wykonaj żądanie. Możesz również nadal używać narzędzia do testowania HTTP w celu wystawienia żądania GET.

    Żądanie wysyła zapytanie do wystąpienia orkiestracji dla stanu. Musisz uzyskać ostateczną odpowiedź, która pokazuje ukończone wystąpienie i zawiera dane wyjściowe lub wyniki funkcji trwałej. Wygląda na to, że ten przykład:

    {
        "name": "HelloOrchestrator",
        "instanceId": "9a528a9e926f4b46b7d3deaa134b7e8a",
        "runtimeStatus": "Completed",
        "input": null,
        "customStatus": null,
        "output": [
            "Hello Tokyo!",
            "Hello Seattle!",
            "Hello London!"
        ],
        "createdTime": "2020-03-18T21:54:49Z",
        "lastUpdatedTime": "2020-03-18T21:54:54Z"
    }
    
  7. Aby zatrzymać debugowanie, w programie Visual Studio Code wybierz pozycję Shift+F5.

Po sprawdzeniu, czy funkcja działa poprawnie na komputerze lokalnym, nadszedł czas na opublikowanie projektu na platformie Azure.

Logowanie się do platformy Azure

Aby można było utworzyć zasoby platformy Azure lub opublikować aplikację, musisz zalogować się na platformie Azure.

  1. Jeśli jeszcze nie zalogowałeś się, na pasku Działania wybierz ikonę platformy Azure. Następnie w obszarze Zasoby wybierz pozycję Zaloguj się na platformie Azure.

    Zrzut ekranu przedstawiający okno logowania do platformy Azure w programie Visual Studio Code.

    Jeśli już się zalogowałeś i widzisz istniejące subskrypcje, przejdź do następnej sekcji. Jeśli nie masz jeszcze konta platformy Azure, wybierz pozycję Utwórz konto platformy Azure. Uczniowie mogą wybrać pozycję Utwórz konto platformy Azure for Students.

  2. Po wyświetleniu monitu w przeglądarce wybierz swoje konto platformy Azure i zaloguj się przy użyciu poświadczeń konta platformy Azure. Jeśli tworzysz nowe konto, możesz zalogować się po utworzeniu konta.

  3. Po pomyślnym zalogowaniu można zamknąć nowe okno przeglądarki. Subskrypcje należące do konta platformy Azure są wyświetlane na pasku bocznym.

Tworzenie aplikacji funkcji na platformie Azure

W tej sekcji utworzysz aplikację funkcji i powiązane zasoby w ramach subskrypcji platformy Azure. Wiele decyzji dotyczących tworzenia zasobów jest podejmowanych na podstawie domyślnych zachowań. Aby uzyskać większą kontrolę nad utworzonymi zasobami, należy zamiast tego utworzyć aplikację funkcji z opcjami zaawansowanymi.

  1. W programie Visual Studio Code wybierz F1, aby otworzyć paletę poleceń. Po wyświetleniu monitu (>) wprowadź, a następnie wybierz pozycję Azure Functions: Utwórz aplikację funkcji na platformie Azure.

  2. Po wyświetleniu monitów podaj następujące informacje:

    Monit Akcja
    Wybierz subskrypcję Wybierz subskrypcję platformy Azure do użycia. Monit nie jest wyświetlany, gdy w obszarze Zasoby jest widoczna tylko jedna subskrypcja.
    Wprowadź globalnie unikatową nazwę aplikacji funkcji Wprowadź nazwę prawidłową w ścieżce adresu URL. Wprowadzona nazwa jest weryfikowana, aby upewnić się, że jest unikatowa w usłudze Azure Functions.
    Wybieranie stosu środowiska uruchomieniowego Wybierz wersję języka, która jest obecnie uruchamiana lokalnie.
    Wybieranie lokalizacji dla nowych zasobów Określ region platformy Azure. Aby uzyskać lepszą wydajność, wybierz region w pobliżu.

    Na panelu Azure: Dziennik aktywności rozszerzenie platformy Azure pokazuje stan poszczególnych zasobów podczas ich tworzenia na platformie Azure.

    Zrzut ekranu przedstawiający dziennik tworzenia zasobów platformy Azure.

  3. Po utworzeniu aplikacji funkcji następujące powiązane zasoby są tworzone w ramach subskrypcji platformy Azure. Zasoby są nazwane na podstawie nazwy wprowadzonej dla aplikacji funkcji.

    • Grupa zasobów, która jest kontenerem logicznym dla powiązanych zasobów.
    • Standardowe konto usługi Azure Storage, które zachowuje stan i inne informacje o projektach.
    • Aplikacja funkcji, która udostępnia środowisko do wykonywania kodu funkcji. Aplikacja funkcji umożliwia grupowanie funkcji jako jednostki logicznej w celu łatwiejszego zarządzania, wdrażania i udostępniania zasobów w ramach tego samego planu hostingu.
    • Plan usługi aplikacja systemu Azure, który definiuje podstawowy host aplikacji funkcji.
    • Wystąpienie usługi Application Insights połączone z aplikacją funkcji, które śledzi korzystanie z funkcji w aplikacji.

    Po utworzeniu aplikacji funkcji i zastosowaniu pakietu wdrożeniowego zostanie wyświetlone powiadomienie.

    Napiwek

    Domyślnie zasoby platformy Azure wymagane przez aplikację funkcji są tworzone na podstawie nazwy wprowadzonej dla aplikacji funkcji. Domyślnie zasoby są tworzone za pomocą aplikacji funkcji w tej samej, nowej grupie zasobów. Jeśli chcesz dostosować nazwy skojarzonych zasobów lub ponownie użyć istniejących zasobów, opublikuj projekt przy użyciu zaawansowanych opcji tworzenia.

Wdrażanie projektu na platformie Azure

Ważne

Wdrażanie w istniejącej aplikacji funkcji zawsze zastępuje zawartość tej aplikacji na platformie Azure.

  1. W palecie poleceń wprowadź i wybierz pozycję Azure Functions: Deploy to Function App (Azure Functions: Wdróż w aplikacji funkcji).

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

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

    Zrzut ekranu przedstawiający okno Wyświetl dane wyjściowe.

Testowanie funkcji na platformie Azure

  1. Skopiuj adres URL wyzwalacza HTTP z panelu danych wyjściowych. Adres URL, który wywołuje funkcję wyzwalaną przez protokół HTTP, powinien mieć następujący format:

    https://<functionappname>.azurewebsites.net/api/orchestrators/HelloOrchestrator

  2. Wklej nowy adres URL żądania HTTP na pasku adresu przeglądarki. Gdy używasz opublikowanej aplikacji, możesz oczekiwać, że otrzymasz tę samą odpowiedź o stanie otrzymaną podczas testowania lokalnego.

Aplikacja Durable Functions programu PowerShell utworzona i opublikowana przy użyciu programu Visual Studio Code jest gotowa do użycia.

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.