Wprowadzenie do usługi Azure Functions w Visual Studio dla komputerów Mac

Ważne

Visual Studio dla komputerów Mac ma zostać wycofany 31 sierpnia 2024 r.Nowoczesne zasady cyklu życia. Mimo że możesz nadal pracować z Visual Studio dla komputerów Mac, istnieje kilka innych opcji dla deweloperów na komputerze Mac, takich jak wersja zapoznawcza nowego rozszerzenia zestawu deweloperskiego języka C# dla programu VS Code.

Dowiedz się więcej o osiach czasu pomocy technicznej i alternatywach.

Usługa Azure Functions to sposób tworzenia i uruchamiania fragmentów kodu opartego na zdarzeniach — funkcji — w chmurze bez konieczności jawnego aprowizowania infrastruktury ani zarządzania nią. Aby uzyskać więcej informacji na temat usługi Azure Functions, zobacz dokumentację usługi Azure Functions.

Wymagania

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

Aby tworzyć i wdrażać funkcje, potrzebujesz również subskrypcji platformy Azure. Jeśli nie masz konta platformy Azure, możesz zarejestrować się bezpłatnie i otrzymać 12 miesięcy bezpłatnych usług, bezpłatne środki w wysokości 200 USD i 25+ zawsze bezpłatne usługi .>https://azure.com/free

Tworzenie pierwszego projektu usługi Azure Functions

  1. W Visual Studio dla komputerów Mac wybierz pozycję Plik > nowe rozwiązanie.

  2. W oknie dialogowym Nowy projekt wybierz szablon usługi Azure Functions w obszarze Ogólne chmury>, a następnie kliknij przycisk Dalej:

    New Project dialog showing Azure Functions option

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

    New Project dialog showing Azure Functions templates

    Napiwek

    Chociaż powiązane środowisko uruchomieniowe i szablony usługi Azure Functions (CLI) są jak najbardziej aktualne, nieuchronnie stają się nieaktualne. Podczas tworzenia nowego projektu usługi Functions Visual Studio dla komputerów Mac sprawdzi dostępność aktualizacji interfejsu wiersza polecenia i powiadomi Cię, jak pokazano na poniższej ilustracji. Wystarczy kliknąć przycisk, aby pobrać zaktualizowane szablony. New project dialog showing Azure Functions updates are available

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

    New Project dialog showing additional option

    Aby uzyskać więcej informacji na temat różnych typów szablonów usługi 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 ustawieniu parametrów wybierz lokalizację projektu i kliknij przycisk Utwórz.

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

Visual Studio for Mac editor displaying a brand new Azure function from template

Nowy projekt zawiera następujące pliki:

  • your-function-name.cs — ta klasa zawiera standardowy kod wybranej funkcji. Zawiera atrybut FunctionName o nazwie funkcji i atrybut wyzwalacza określający, co wyzwala funkcję (np. żądanie HTTP). Aby uzyskać więcej informacji na temat metody funkcji, zapoznaj się z artykułem Azure Functions C# developer reference (Dokumentacja dla deweloperów usługi Azure Functions w języku C#).
  • host.json — w tym pliku opisano globalne opcje konfiguracji hosta usługi Functions. Przykładowy plik i informacje dotyczące dostępnych ustawień tego pliku można znaleźć w host.json dokumentacji usługi Azure Functions.
  • local.settings.json — ten plik zawiera wszystkie ustawienia uruchamiania funkcji lokalnie. Te ustawienia są używane przez narzędzia Azure Functions Core Tools. Aby uzyskać więcej informacji, zobacz Plik ustawień lokalnych w artykule Azure Functions Core Tools .

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

Lokalne testowanie funkcji

Dzięki obsłudze usługi Azure Functions w Visual Studio dla komputerów Mac możesz przetestować i debugować funkcję na lokalnym komputerze deweloperów.

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

    Start debugging button in Visual Studio for mac

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

    terminal window showing function output

    Skopiuj adres URL z danych wyjściowych.

  3. Wklej adres URL żądania HTTP w pasku adresu przeglądarki. Dodaj ciąg ?name=<yourname> zapytania 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ę:

    HTTP request in browser

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 > funkcję...:

    context action for adding new function

  2. W oknie dialogowym Nowa funkcja platformy Azure wybierz wymaganą funkcję:

    new Azure function dialog

    Lista szablonów funkcji platformy Azure znajduje się w sekcji Dostępne szablony funkcji.

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

Publikowanie na platformie Azure

  1. Kliknij prawym przyciskiem myszy nazwę projektu i wybierz polecenie Publikuj > na platformie Azure: Context menu with Publish > Publish to Azure... option highlighted

  2. Jeśli konto platformy Azure zostało już połączone z Visual Studio dla komputerów Mac zostanie wyświetlona lista dostępnych usług app Services. Jeśli nie zalogowano się, zostanie wyświetlony monit o to.

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

  4. W oknie dialogowym Tworzenie nowej usługi App Service wprowadź ustawienia:New App Service dialog, with fields for service name, subscription, resource group, and service plan settings.

    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 uzyskujesz dostęp do funkcji.
  5. Kliknij przycisk Dalej , aby utworzyć konto magazynu. Konto usługi Azure Storage jest wymagane przez środowisko uruchomieniowe usługi Functions. Kliknij pozycję Niestandardowe , aby utworzyć konto magazynu ogólnego przeznaczenia lub użyć istniejącego:

    New App Service dialog with prompt for storage account name.

  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 informacją o konieczności aktualizacji wersji usługi Functions na platformie Azure. Kliknij przycisk Tak:

    Prompt asking to

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 witryny Azure Portal pod adresem https://ms.portal.azure.com/. W obszarze Aplikacje usługi Functions wybierz pozycję Aplikacje funkcji i wyróżnij nazwę funkcji:

Azure Functions menu

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

Over tab of Azure function

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

application settings area of Azure portal

Jednym z ważnych ustawień może być konieczne ustawienie: FUNCTIONS_EXTENSION_VERSION. Podczas publikowania z Visual Studio dla komputerów Mac ta wartość powinna być ustawiona na wersję beta.

Dostępne szablony funkcji

  • Wyzwalacz GitHub — odpowiadanie na zdarzenia występujące w repozytoriach GitHub. Aby uzyskać więcej informacji, zobacz artykuł dotyczący usługi Azure Functions w witrynie GitHub

    • Komentator usługi GitHub — ta funkcja zostanie uruchomiona, gdy otrzyma element webhook usługi GitHub dla problemu lub żądania ściągnięcia i doda komentarz.
    • GitHub WebHook — ta funkcja zostanie uruchomiona po odebraniu elementu webhook usługi GitHub.
  • HTTP — wyzwalanie wykonywania kodu przy użyciu żądania HTTP. Istnieją jawne szablony dla następujących wyzwalaczy HTTP:

    • Wyzwalacz HTTP
    • HTTP GET — tworzenie, aktualizowanie, odczytywanie i usuwanie (CRUD)
    • HTTP POST CRUD
    • Wyzwalacz HTTP z parametrami
  • Czasomierz — wykonaj oczyszczanie lub inne zadania wsadowe zgodnie ze wstępnie zdefiniowanym harmonogramem. Ten szablon przyjmuje dwa pola: nazwę i harmonogram, czyli sześć pól wyrażenie CRON. Aby uzyskać więcej informacji, zobacz artykuł dotyczący usługi Azure Functions w temacie Time (Czas)

  • Wyzwalacz kolejki — jest to funkcja, która będzie odpowiadać na komunikaty po nadejściu do kolejki usługi Azure Queue Storage. Oprócz nazwy funkcji ten szablon przyjmuje ścieżkę (nazwę kolejki, z której będzie odczytywany komunikat) i konto magazynu Połączenie ion (nazwa ustawienia aplikacji zawierającego konto magazynu parametry połączenia). Aby uzyskać więcej informacji, zobacz artykuł dotyczący usługi Azure Functions w usłudze Queue Storage.

  • Wyzwalacz obiektu blob — przetwarzaj obiekty blob usługi Azure Storage po dodaniu ich do kontenera. Oprócz nazwy funkcji ten szablon przyjmuje również ścieżkę i właściwość połączenia. Właściwość path jest ścieżką w ramach konta magazynu, który będzie monitorowany przez wyzwalacz. Konto połączenia to nazwa ustawienia aplikacji zawierającego konto magazynu parametry połączenia. Aby uzyskać więcej informacji, zobacz artykuł Azure Functions Blob Storage.

  • Ogólny element webhook — jest to prosta funkcja, która będzie uruchamiana za każdym razem, gdy odbiera żądanie od dowolnej usługi obsługującej elementy webhook. Aby uzyskać więcej informacji, zobacz artykuł dotyczący ogólnych elementów webhook w usłudze Azure Functions.

  • Orkiestracja funkcji durable functions — durable functions umożliwia pisanie funkcji stanowych w środowisku bezserwerowym. Rozszerzenie zarządza stanem, punktami kontrolnymi i ponownym uruchamianiem. Aby uzyskać więcej informacji, zobacz przewodniki dotyczące rozszerzenia Durable Functions.

  • Image Resizer — ta funkcja tworzy zmieniane rozmiary obrazów za każdym razem, gdy obiekt blob zostanie dodany do kontenera. Szablon przyjmuje ścieżkę i parametry 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 i nazwy obiektu blob. Oprócz nazwy funkcji ten szablon przyjmuje również ścieżkę i właściwość połączenia. Właściwość path jest ścieżką w ramach konta magazynu, który będzie monitorowany przez wyzwalacz. Konto połączenia to nazwa ustawienia aplikacji zawierającego konto magazynu parametry połączenia. Należy również ustawić prawa dostępu. Poziom autoryzacji określa, czy funkcja wymaga klucza interfejsu API i którego klucza należy użyć; Funkcja używa klucza funkcji; Administracja używa klucza dostępu do konta. Aby uzyskać więcej informacji, zobacz funkcję platformy Azure w języku C# do generowania przykładowych tokenów SAS.