Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Aby zapisywać funkcje stanowe w środowisku bezserwerowym, użyj Durable Functions, będącej częścią Azure Functions. Zainstaluj Durable Functions, instalując rozszerzenie Azure Functions w Visual Studio Code. Rozszerzenie zarządza stanem, punktami kontrolnymi i ponownymi uruchomieniami w aplikacji.
W tym poradniku szybkiego rozpoczęcia użyjesz rozszerzenia Funkcji Trwałych w Visual Studio Code, aby lokalnie utworzyć i przetestować aplikację "hello world" w Azure Functions. Aplikacja Durable Functions organizuje i łączy ze sobą wywołania do innych funkcji. Następnie opublikujesz kod funkcji do Azure. Używane narzędzia są dostępne za pośrednictwem rozszerzenia Visual Studio Code.
Wymagania wstępne
Aby ukończyć ten szybki przewodnik, potrzebujesz:
Visual Studio Code zainstalowany.
Zainstalowano rozszerzenie Visual Studio Code Azure Functions.
Zainstalowano najnowszą wersję Azure Functions Core Tools.
Narzędzie do testowania HTTP, które zapewnia bezpieczeństwo danych. Aby uzyskać więcej informacji, zobacz Narzędzia do testowania HTTP.
Subskrypcja Azure. Aby użyć Durable Functions, musisz mieć konto Azure Storage.
Jeśli nie masz konta Azure, przed rozpoczęciem utwórz konto free.
Tworzenie projektu lokalnego
W tej sekcji użyjesz Visual Studio Code do utworzenia lokalnego projektu Azure Functions.
W Visual Studio Code wybierz klawisz F1 (lub naciśnij klawisze Ctrl/Cmd+Shift+P), aby otworzyć paletę poleceń. Po wyświetleniu monitu (
>), wprowadź polecenie Azure Functions: Utwórz nowy projekt i wybierz je.Zrzut ekranu przedstawiający polecenie Utwórz funkcję.
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.
Po wyświetleniu monitów podaj następujące informacje:
Monit Akcja opis Wybierz język dla projektu aplikacji funkcji Wybierz opcję PowerShell. Tworzy lokalny projekt usługi PowerShell Functions. Wybierz wersję Wybierz Azure Functions v4. 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 Otwórz w bieżącym oknie. Otwiera Visual Studio Code w wybranym folderze.
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.
Skonfiguruj aplikację funkcji do korzystania z programu PowerShell 7.4 i samodzielnego zestawu SDK Durable Functions
Otwórz plik local.settings.json i upewnij się, że ustawienie o nazwie jest ustawione na , a ustawienie o nazwie jest ustawione na . Jeśli ich brakuje lub jeśli są ustawione na inne wartości, zaktualizuj zawartość pliku.
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "",
"FUNCTIONS_WORKER_RUNTIME": "powershell",
"FUNCTIONS_WORKER_RUNTIME_VERSION" : "7.4",
"ExternalDurablePowerShellSDK": "true"
}
}
Następnie określ wpis dla zestawu DF SDK w pliku , jak w poniższym przykładzie:
# This file enables modules to be automatically managed by the Functions service.
# See https://aka.ms/functionsmanageddependency for additional information.
#
@{
# For latest supported version, go to 'https://www.powershellgallery.com/packages/AzureFunctions.PowerShell.Durable.SDK/'.
'AzureFunctions.PowerShell.Durable.SDK' = '2.*'
}
Upewnij się, że używasz najnowszej wersji modułu AzureFunctions.PowerShell.Durable.SDK . Specyfikator wersji gwarantuje, że uzyskasz najnowszą stabilną wersję 2.x.
Dodaj następujący wiersz do pliku (zazwyczaj na końcu pliku):
Import-Module AzureFunctions.PowerShell.Durable.SDK -ErrorAction Stop
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 w Azure, która uruchamia funkcję orkiestratora. W tym przykładzie użyto funkcji wyzwalanej przez protokół HTTP.
Funkcja orkiestratora
Użyj szablonu, aby utworzyć kod aplikacji Durable Functions w projekcie.
W palecie poleceń wprowadź , a następnie wybierz pozycję Azure Functions: Create Function.
Po wyświetleniu monitów podaj następujące informacje:
Monit Akcja opis Wybierz szablon dla funkcji Wprowadź Durable Functions orchestrator. Tworzy orkiestrację aplikacji Durable Functions. Podaj nazwę funkcji Wpisz 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 .
Następnie dodasz przywołyną funkcję działania.
Funkcja aktywności
W palecie poleceń wprowadź , a następnie wybierz pozycję Azure Functions: Create Function.
Po wyświetleniu monitów podaj następujące informacje:
Monit Akcja opis Wybierz szablon dla swojej funkcji Wybierz Durable Functions działanie. Tworzy funkcję aktywności. Podaj nazwę funkcji Wprowadź 'Hello'. Nazwa funkcji działania.
Dodałeś funkcję aktywności 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)
W palecie poleceń wprowadź , a następnie wybierz pozycję Azure Functions: Create Function.
Po wyświetleniu monitów podaj następujące informacje:
Monit Akcja opis Wybierz szablon dla funkcji Wybierz Durable Functions starter HTTP. Tworzy funkcję startową HTTP. Podaj nazwę funkcji Wpisz HttpStart. Nazwa funkcji działania. Poziom autoryzacji Wybierz 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ć w Azure.
Wskazówka
W tym przewodniku Szybki start jest używany autonomiczny zestaw SDK programu PowerShell Durable Functions, który jest teraz ogólnie dostępny i zapewnia najlepszą wydajność i najnowsze funkcje. Aby uzyskać więcej informacji na temat zestawu SDK i migracji ze starszej wbudowanej wersji, zobacz autonomiczny przewodnik po zestawie SDK programu PowerShell.
Lokalne testowanie funkcji
narzędzia Azure Functions Core Tools umożliwiają uruchamianie projektu Azure Functions na lokalnym komputerze programistycznym. Zostanie wyświetlony monit o zainstalowanie tych narzędzi przy pierwszym uruchomieniu funkcji w Visual Studio.
Aby przetestować funkcję, ustaw punkt przerwania w 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 Durable Functions diagnostics.
Aby działać, Durable Functions wymaga konta magazynu Azure. Gdy Visual Studio Code prosi o wybranie konta magazynu, wybierz Wybierz konto magazynu.
Zrzut ekranu przedstawiający polecenie Utwórz konto magazynu.
Po wyświetleniu monitów podaj następujące dane, aby utworzyć nowe konto magazynu w Azure.
Monit Akcja opis Wybierz subskrypcję Wybierz nazwę subskrypcji. Twoja subskrypcja Azure. Wybierz konto przechowywania Wybierz Utwórz nowe konto pamięci. Wprowadź nazwę nowego konta magazynowego Wprowadź unikatową nazwę. Nazwa konta przestrzeni dyskowej, którą należy utworzyć. Wybierz grupę zasobów Wprowadź unikatową nazwę. Nazwa grupy zasobów do utworzenia. Wybierz lokalizację Wybierz region Azure. Wybierz region, który jest blisko Ciebie. Na panelu terminalu skopiuj punkt końcowy adresu URL funkcji wyzwalanej przez protokół HTTP.
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 (). Adres URL powinien być podobny do .
Odpowiedź to początkowy wynik funkcji HTTP. Powiadamia Cię, że trwała orkiestracja została pomyślnie uruchomiona. Nie wyświetla jeszcze wyniku końcowego aranżacji. Odpowiedź zawiera kilka przydatnych adresów URL. Obecnie wykonaj zapytanie dotyczące stanu orkiestracji.
Skopiuj wartość adresu URL dla , 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 zapytuje wystąpienie orkiestracji w celu uzyskania statusu. 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" }Aby zatrzymać debugowanie, w Visual Studio Code wybierz pozycję Shift+F5.
Po sprawdzeniu, czy funkcja działa poprawnie na komputerze lokalnym, nadszedł czas, aby opublikować projekt w celu Azure.
Zaloguj się do Azure
Aby można było utworzyć zasoby Azure lub opublikować aplikację, musisz zalogować się do Azure.
Jeśli jeszcze nie zalogowałeś się, na pasku Activity wybierz ikonę Azure. Następnie w obszarze Resources wybierz pozycję Przypij do Azure.
Jeśli już się zalogowałeś i widzisz istniejące subskrypcje, przejdź do następnej sekcji. Jeśli nie masz jeszcze konta Azure, wybierz pozycję Utwórz konto Azure. Uczniowie mogą wybrać Utwórz Azure dla konta uczniów.
Po wyświetleniu monitu w przeglądarce wybierz swoje konto Azure i zaloguj się przy użyciu poświadczeń konta Azure. Jeśli tworzysz nowe konto, możesz zalogować się po utworzeniu konta.
Po pomyślnym zalogowaniu można zamknąć nowe okno przeglądarki. Subskrypcje należące do konta Azure są wyświetlane na pasku bocznym.
Utwórz aplikację funkcji w Azure
W tej sekcji utworzysz aplikację funkcji w planie Flex Consumption wraz z powiązanymi zasobami w subskrypcji 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.
W Visual Studio Code wybierz klawisz F1, aby otworzyć paletę poleceń. W monicie (
>) wprowadź, a następnie wybierz pozycję Azure Functions: Utwórz aplikację funkcji w Azure.Po wyświetleniu monitów podaj następujące informacje:
Monit Akcja Wybierz subskrypcję Wybierz subskrypcję Azure do użycia. Monit nie jest wyświetlany, gdy w obszarze Zasoby jest widoczna tylko jedna subskrypcja. Wprowadź nową nazwę aplikacji funkcji Wprowadź globalnie unikatową nazwę poprawną dla ścieżki adresu URL. Wprowadzona nazwa jest weryfikowana, aby upewnić się, że jest unikatowa w Azure Functions. Wybieranie lokalizacji dla nowych zasobów Wybierz region Azure. Aby uzyskać lepszą wydajność, wybierz region w pobliżu. Wyświetlane są tylko regiony obsługiwane przez plany Flex Consumption. Wybieranie stosu środowiska uruchomieniowego Wybierz wersję języka, która jest obecnie uruchamiana lokalnie. Wybierz typ uwierzytelniania zasobu Wybierz Tożsamość zarządzaną, która jest najbezpieczniejszą opcją nawiązywania połączenia z domyślnym kontem magazynowym hosta. W panelu Azure: Dziennik aktywności rozszerzenie Azure pokazuje stan poszczególnych zasobów podczas ich tworzenia w Azure.
Po utworzeniu aplikacji funkcjonalnej, w ramach twojej subskrypcji Azure są tworzone następujące powiązane zasoby. Zasoby są nazwane na podstawie nazwy wprowadzonej dla aplikacji funkcji.
- Grupa zasobów, która jest kontenerem logicznym dla powiązanych zasobów.
- 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 Azure App Service, który definiuje bazowy host dla aplikacji funkcji.
- Standardowe konto Azure Storage, które jest używane przez hosta usługi Functions do utrzymywania stanu i innych informacji o aplikacji funkcji.
- Instancja usługi Application Insights, która jest połączona z aplikacją funkcji i śledzi użycie funkcji w aplikacji.
- Tożsamość zarządzana przypisana przez użytkownika dodana do roli współautora danych Blob w usłudze Storage na nowym domyślnym koncie magazynu hosta.
Po utworzeniu aplikacji funkcji i zastosowaniu pakietu wdrożeniowego zostanie wyświetlone powiadomienie.
Wskazówka
Domyślnie zasoby Azure potrzebne do działania aplikacji funkcji są tworzone na podstawie nazwy, którą wprowadzisz dla swojej 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 w Azure
Ważne
Wdrażanie w istniejącej aplikacji funkcji zawsze zastępuje zawartość tej aplikacji w Azure.
W palecie poleceń wprowadź i wybierz pozycję Azure Functions: Deploy to Function App.
Wybierz właśnie utworzoną aplikację funkcyjną. 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ę View Output aby wyświetlić wyniki tworzenia i wdrażania, w tym utworzone zasoby 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 w usłudze Azure
Upewnij się, że ustawienie aplikacji o nazwie ma ustawioną wartość .
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/HelloOrchestratorWklej 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 programu PowerShell Durable Functions utworzona i opublikowana przy użyciu Visual Studio Code jest gotowa do użycia.
Czyszczenie zasobów
Jeśli nie potrzebujesz już zasobów utworzonych do ukończenia szybkiego startu, aby uniknąć powiązanych kosztów w subskrypcji Azure, usuń grupę zasobów i wszystkie powiązane zasoby.
Powiązana zawartość
- Dowiedz się więcej o wzorcach aplikacji common Durable Functions.