Wprowadzenie do usługi Azure Functions

Azure Functions to sposób tworzenia i uruchamiania opartych na zdarzeniach fragmentów kodu — funkcji — w chmurze bez konieczności jawnego aprowizować infrastruktury ani zarządzać infrastrukturą. Aby uzyskać więcej informacji na temat usługi Azure Functions, zapoznaj się z dokumentacją usługi Azure Functions.

Wymagania

Narzędzia funkcji platformy Azure są dostępne Visual Studio dla komputerów Mac wersji 7.5 i nowszej.

Do tworzenia i wdrażania funkcji potrzebna jest również subskrypcja platformy Azure. Jeśli nie masz konta platformy Azure, możesz zarejestrować się już dzisiaj bezpłatnie i otrzymać 12 miesięcy bezpłatnych popularnych usług, 200 USD bezpłatnych środków i ponad 25 zawsze bezpłatnych usług — > https://azure.com/free .

Tworzenie pierwszego Azure Functions projektu

  1. W Visual Studio dla komputerów Mac wybierz pozycję File > New Solution (Nowe rozwiązanie).

  2. W oknie Project dialogowym Nowy Azure Functions szablon w obszarze Cloud > General (Ogólne w chmurze) i kliknij przycisk Next (Dalej):

    Nowe Project dialogowe z wyświetloną Azure Functions oknie dialogowym

  3. Wybierz początkowy Azure Functions, który chcesz użyć, wprowadź nazwę funkcji i kliknij przycisk Dalej.

    Nowe Project dialogowe z Azure Functions szablonów

    Porada

    Chociaż powiązane środowisko Azure Functions uruchomieniowe i szablony (interfejs wiersza polecenia) są przechowywane tak, jak to możliwe, są one zawsze nieaktualne. Podczas tworzenia nowego projektu funkcji program Visual Studio dla komputerów Mac aktualizacje interfejsu wiersza polecenia i powiadomi Cię, jak pokazano na poniższej ilustracji. Po prostu kliknij przycisk , aby pobrać zaktualizowane szablony. Okno dialogowe Nowego projektu z Azure Functions są dostępne aktualizacje

    W zależności od wybranego typu funkcji na następnej stronie zostanie wyświetlony monit o wprowadzenie szczegółów, takich jak prawa dostępu, jak pokazano na poniższej ilustracji:

    Nowe Project dialogowe z wyświetloną dodatkową opcją

    Aby uzyskać więcej informacji na temat różnych typów szablonów Azure Functions i właściwości powiązania wymaganych do skonfigurowania każdego szablonu, zobacz sekcję Dostępne szablony funkcji. W tym przykładzie używamy wyzwalacza Http z prawami dostępu ustawionymi na anonimowe.

  4. Po skonfigurowaniu parametrów wybierz lokalizację projektu i kliknij pozycję Utwórz.

Visual Studio dla komputerów Mac tworzy projekt .NET Standard z funkcją domyślną. Zawiera również odwołania NuGet do różnych pakietów AzureWebJobs, a także pakietu Newtonsoft.Json.

Visual Studio dla komputerów Mac wyświetlający zupełnie nową funkcję platformy Azure na podstawie szablonu

Nowy projekt zawiera następujące pliki:

  • your-function-name.cs — ta klasa zawiera kod źródłowy wybranej funkcji. Zawiera ona atrybut FunctionName z nazwą funkcji i atrybut wyzwalacza, który określa, co wyzwala funkcję (np. żądanie HTTP). Aby uzyskać więcej informacji na temat metody funkcji, zapoznaj się z artykułem Azure Functions języka C# dla deweloperów.
  • host.json — w tym pliku opisano globalne opcje konfiguracji hosta usługi Functions. Aby uzyskać przykładowy plik i informacje na temat dostępnych ustawień dla tego pliku, zobacz odwołanie do pliku host.jsondla Azure Functions .
  • local.settings.json — ten plik zawiera wszystkie ustawienia uruchamiania funkcji lokalnie. Te ustawienia są używane przez Azure Functions Core Tools. Aby uzyskać więcej informacji, zobacz plik ustawień lokalnych w Azure Functions Core Tools artykułu.

Teraz, po utworzeniu nowego projektu usługi Azure Functions na platformie Visual Studio dla komputerów Mac, możesz przetestować domyślną funkcję wyzwalaną przez protokół HTTP z komputera lokalnego.

Testowanie funkcji lokalnie

Dzięki Azure Functions na Visual Studio dla komputerów Mac można testować i debugować funkcję na lokalnym komputerze dewelopera.

  1. Aby przetestować funkcję lokalnie, naciśnij przycisk Uruchom w Visual Studio dla komputerów Mac:

    Przycisk Rozpocznij debugowanie w programie Visual Studio dla komputerów Mac

  2. Uruchomienie projektu rozpoczyna lokalne debugowanie w funkcji platformy Azure i otwiera nowe okno terminalu, jak pokazano na poniższej ilustracji:

    okno terminalu z wyświetlaniem danych wyjściowych funkcji

    Skopiuj adres URL z danych wyjściowych.

  3. Wklej adres URL żądania HTTP w pasku adresu przeglądarki. Dodaj ciąg zapytania ?name=<yourname> na końcu adresu URL i wykonaj żądanie. Na poniższej ilustracji przedstawiono odpowiedź w przeglądarce na lokalne żądanie GET zwrócone przez funkcję:

    żądanie http w przeglądarce

Dodawanie kolejnej funkcji do projektu

Szablony funkcji umożliwiają szybkie tworzenie nowych funkcji przy użyciu najczęściej stosowanych wyzwalaczy i szablonów. Aby utworzyć inny typ funkcji, wykonaj następujące czynności:

  1. Aby dodać nową funkcję, kliknij prawym przyciskiem myszy nazwę projektu i wybierz polecenie Dodaj > Dodaj funkcję...:

    akcja kontekstowa dodawania nowej funkcji

  2. W oknie dialogowym Nowa funkcja platformy Azure wybierz funkcję, która jest ci potrzebne:

    okno dialogowe nowej funkcji platformy Azure

    Lista szablonów funkcji platformy Azure jest dostępna w sekcji Dostępne szablony funkcji.

Przy użyciu powyższej procedury można dodać więcej funkcji do projektu aplikacji funkcji. Każda funkcja w projekcie może mieć inny wyzwalacz, ale funkcja musi mieć dokładnie jeden wyzwalacz. Aby uzyskać więcej informacji, zobacz Azure Functions wyzwalaczy i powiązań.

Publikowanie na platformie Azure

  1. Kliknij prawym przyciskiem myszy nazwę projektu i wybierz polecenie Publish > Publish to Azure: Context menu with Publish > Publish to Azure... (Publikuj na platformie Azure za pomocą menu kontekstowego Publish > Publish to Azure... (Publikuj na  platformie Azure). wyróżniona opcja

  2. Jeśli już połączono konto platformy Azure z Visual Studio dla komputerów Mac zostanie wyświetlona lista dostępnych usług aplikacji. Jeśli użytkownik nie jest zalogowany, zostanie wyświetlony monit o zalogowanie się.

  3. W oknie dialogowym Azure App Service do aplikacji możesz wybrać istniejącą usługę aplikacji lub utworzyć nową, klikając pozycję Nowy.

  4. W oknie dialogowym App Service nową grupę zasobów wprowadź ustawienia: Nowy App Service, z polami nazwy usługi, subskrypcji, grupy zasobów  i planu usługi.

    Ustawienie Opis
    Nazwa usługi App Service Globalnie unikatowa nazwa identyfikująca nową aplikację funkcji.
    Subskrypcja Subskrypcja platformy Azure, która ma być używana.
    Grupa zasobów Nazwa grupy zasobów, w której ma zostać utworzona aplikacja funkcji. Wybierz, + aby utworzyć nową grupę zasobów.
    Plan usługi Wybierz istniejący plan lub utwórz plan niestandardowy. Wybierz lokalizację w regionie w pobliżu ciebie lub w pobliżu innych usług, do których Twoje funkcje mają dostęp.
  5. Kliknij przycisk Dalej, aby utworzyć konto magazynu. Środowisko uruchomieniowe usługi Functions wymaga konta magazynu platformy Azure. Kliknij pozycję Niestandardowy, aby utworzyć konto magazynu ogólnego przeznaczenia, lub użyj istniejącego konta:

    Nowe App Service dialogowe z monitem o nazwę konta magazynu.

  6. Kliknij przycisk Utwórz, aby utworzyć aplikację funkcji i powiązane zasoby na platformie Azure przy użyciu tych ustawień i wdrożyć kod projektu funkcji.

  7. Podczas publikowania może zostać wyświetlony monit z monitem o "Zaktualizowanie wersji funkcji na platformie Azure". Kliknij przycisk Tak:

    Monituj o "Aktualizowanie ustawień aplikacji platformy Azure w celu dopasowania do lokalnej wersji usługi Functions?". z opcjami Tak i Nie.

Ustawienia aplikacji funkcji

Wszystkie ustawienia dodane w local.settings.json należy również dodać do aplikacji funkcji na platformie Azure. Te ustawienia nie są przekazywane automatycznie podczas publikowania projektu.

Aby uzyskać dostęp do ustawień aplikacji, przejdź do strony Azure Portal na stronie https://ms.portal.azure.com/ . W obszarze Aplikacje funkcji wybierz pozycję Aplikacje funkcji i wyróżnij nazwę funkcji:

menu usługi Azure Functions

Na karcie Przegląd wybierz pozycję Ustawienia aplikacji w obszarze Skonfigurowane funkcje:

Na karcie funkcji platformy Azure

W tym miejscu można ustawić Ustawienia aplikacji funkcji, w której można dodawać nowe ustawienia aplikacji lub modyfikować istniejące:

obszar ustawień aplikacji Azure Portal

Jednym z ważnych ustawień, które może być konieczne, jest FUNCTIONS_EXTENSION_VERSION . Podczas publikowania z Visual Studio dla komputerów Mac należy ustawić tę wartość na beta.

Dostępne szablony funkcji

  • GitHub — odpowiadanie na zdarzenia występujące w repozytoriach GitHub repozytoriów. Aby uzyskać więcej informacji, zobacz artykuł Azure Functions na GitHub

    • GitHub komentarza — ta funkcja zostanie uruchamiana po otrzymaniu GitHub webhook dla problemu lub żądania ściągnnięcia i dodano komentarz.
    • GitHub WebHook — ta funkcja zostanie uruchamiana po otrzymaniu GitHub webhook.
  • HTTP — wyzwala wykonywanie kodu przy użyciu żądania HTTP. Istnieją jawne szablony dla następujących wyzwalaczy HTTP:

    • Wyzwalacz HTTP
    • Http GET CRUD
    • Http POST CRUD
    • Wyzwalacz HTTP z parametrami
  • Czasomierz — wykonywanie oczyszczania lub innych zadań wsadowych zgodnie ze wstępnie zdefiniowanym harmonogramem. Ten szablon przyjmuje dwa pola: nazwę i harmonogram, czyli sześć pól wyrażenia CRON. Aby uzyskać więcej informacji, zobacz artykuł Azure Functions na czas

  • Wyzwalacz kolejki — jest to funkcja, która będzie odpowiadać na komunikaty przychodzące do kolejki Storage Azure. Oprócz nazwy funkcji ten szablon przyjmuje ścieżkę (nazwę kolejki, z której będzie odczytywany komunikat) i połączenie konta magazynu (nazwę ustawienia aplikacji zawierającego ciąg połączenia konta magazynu). Aby uzyskać więcej informacji, zobacz artykuł Azure Functions usługi Queue Storage.

  • Wyzwalacz obiektu blob — przetwarzanie Storage Azure po dodaniu obiektów blob do kontenera. Oprócz nazwy funkcji ten szablon przyjmuje również właściwość ścieżki i połączenia. Właściwość path to ścieżka w ramach konta magazynu, którą będzie monitorować wyzwalacz. Konto połączenia to nazwa ustawienia aplikacji zawierającego ciąg połączenia konta magazynu. Aby uzyskać więcej informacji, zobacz artykuł Azure Functions blob Storage blob.

  • Ogólny webhook — jest to prosta funkcja, która będzie uruchamiana za każdym razem, gdy odbierze żądanie z dowolnej usługi obsługującej webhook. Aby uzyskać więcej informacji, zobacz artykuł Azure Functions na temat ogólnych webhook.

  • Orkiestracji funkcji trwałych — Durable Functions umożliwia pisanie funkcji stanowych w środowisku bez serwera. Rozszerzenie zarządza stanem, punktami kontrolnymi i ponownym uruchamianiem. Aby uzyskać więcej informacji, zobacz przewodniki Azure Functions funkcji trwałych.

  • Zmiana rozmiaru obrazów — ta funkcja tworzy obrazy o zmienionym rozmiarze za każdym razem, gdy obiekt blob jest dodawany do kontenera. Szablon przyjmuje ścieżkę i ciąg połączenia dla wyzwalacza, małe dane wyjściowe obrazu i średnie dane wyjściowe obrazu.

  • Token SAS — ta funkcja generuje token SAS dla danego kontenera usługi Azure Storage nazwę obiektu blob. Oprócz nazwy funkcji ten szablon przyjmuje również właściwość ścieżki i połączenia. Właściwość path to ścieżka w ramach konta magazynu, którą będzie monitorować wyzwalacz. Konto połączenia to nazwa ustawienia aplikacji zawierającego ciąg połączenia konta magazynu. Należy również ustawić prawa dostępu. Poziom autoryzacji określa, czy funkcja wymaga klucza interfejsu API i którego klucza użyć; Funkcja używa klucza funkcji; Administrator używa Twojego klucza dostępu do konta. Aby uzyskać więcej informacji, zobacz przykład funkcji platformy Azure w języku C# służącej do generowania tokenów SAS.