Úvod do Azure Functions v Visual Studio pro Mac

Důležité

Visual Studio pro Mac je naplánováno vyřazení ze dne 31. srpna 2024 v souladu se společností MicrosoftModerní zásady životního cyklu. I když můžete dál pracovat s Visual Studio pro Mac, existuje několik dalších možností pro vývojáře na Macu, jako je verze Preview nového rozšíření C# Dev Kit pro VS Code.

Přečtěte si další informace o časových osách podpory a alternativách.

Azure Functions je způsob, jak vytvářet a spouštět fragmenty kódu řízené událostmi – funkce – v cloudu, aniž byste museli explicitně zřizovat nebo spravovat infrastrukturu. Další informace o službě Azure Functions najdete v dokumentaci ke službě Azure Functions.

Požadavky

Nástroje funkcí Azure jsou součástí Visual Studio pro Mac 7.5 a novější.

K vytváření a nasazování funkcí potřebujete také předplatné Azure. Pokud nemáte účet Azure, můžete se dnes zdarma zaregistrovat a získat 12 měsíců bezplatných oblíbených služeb, bezplatný kredit 200 USD a 25 + vždy bezplatné služby ->https://azure.com/free .

Vytvoření prvního projektu Azure Functions

  1. V Visual Studio pro Mac vyberte Soubor > nové řešení.

  2. V dialogovém okně Nový projekt vyberte šablonu Azure Functions v části Obecné v cloudu > a klikněte na Další:

    New Project dialog showing Azure Functions option

  3. Vyberte počáteční šablonu Azure Functions, kterou chcete použít, zadejte název funkce a klikněte na Další.

    New Project dialog showing Azure Functions templates

    Tip

    I když jsou sady modulu runtime a šablony Azure Functions (CLI) udržovány co nejaktuálně, jsou nutně zastaralé. Při vytváření nového projektu Functions Visual Studio pro Mac zkontroluje aktualizace rozhraní příkazového řádku a upozorní vás, jak je znázorněno na následujícím obrázku. Stačí kliknout na tlačítko a stáhnout aktualizované šablony. New project dialog showing Azure Functions updates are available

    V závislosti na typu vybrané funkce se na další stránce zobrazí výzva k zadání podrobností, jako jsou přístupová práva, jak je znázorněno na následujícím obrázku:

    New Project dialog showing additional option

    Další informace o různých typech šablon Azure Functions a vlastnostech vazeb potřebných ke konfiguraci každé šablony najdete v části Dostupné šablony funkcí. V tomto příkladu používáme trigger HTTP s přístupovými právy nastavenými na anonymní.

  4. Jakmile nastavíte parametry, zvolte umístění projektu a klikněte na Vytvořit.

Visual Studio pro Mac vytvoří projekt .NET Standard s zahrnutou výchozí funkcí. Obsahuje také odkazy NuGet na celou řadu balíčků AzureWebJobs a také na balíček Newtonsoft.Json .

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

Nový projekt obsahuje následující soubory:

  • your-function-name.cs – Tato třída obsahuje často používaný kód pro funkci, kterou jste vybrali. Obsahuje atribut FunctionName s názvem funkce a atribut triggeru, který určuje, co aktivuje funkci (např. požadavek HTTP). Další informace o metodě funkce najdete v referenčním článku pro vývojáře azure Functions v jazyce C#.
  • host.json – Tento soubor popisuje globální možnosti konfigurace pro hostitele služby Functions. Příklad souboru a informace o dostupných nastaveních pro tento soubor najdete v referenčních informacích k host.json pro Azure Functions.
  • local.settings.json – Tento soubor obsahuje všechna nastavení pro místní spouštění funkcí. Tato nastavení používají nástroje Azure Functions Core Tools. Další informace najdete v souboru místních nastavení v článku o nástrojích Azure Functions Core Tools.

Teď, když jste vytvořili nový projekt Azure Functions v Visual Studio pro Mac, můžete otestovat výchozí funkci aktivovanou protokolem HTTP z místního počítače.

Místní testování funkce

S podporou azure Functions v Visual Studio pro Mac můžete funkci otestovat a ladit na místním vývojovém počítači.

  1. Pokud chcete funkci otestovat místně, stiskněte tlačítko Spustit v Visual Studio pro Mac:

    Start debugging button in Visual Studio for mac

  2. Spuštění projektu spustí místní ladění ve funkci Azure a otevře nové okno terminálu, jak je znázorněno na následujícím obrázku:

    terminal window showing function output

    Zkopírujte adresu URL z výstupu.

  3. Vložte adresu URL pro požadavek HTTP do panelu adresy prohlížeče. Přidejte řetězec ?name=<yourname> dotazu na konec adresy URL a spusťte požadavek. Následující obrázek ukazuje odpověď v prohlížeči na místní požadavek GET vrácený funkcí:

    HTTP request in browser

Přidání další funkce do projektu

Šablony funkcí umožňují rychle vytvářet nové funkce s použitím nejběžnějších aktivačních událostí a šablon. Pokud chcete vytvořit jiný typ funkce, postupujte takto:

  1. Pokud chcete přidat novou funkci, klikněte pravým tlačítkem myši na název projektu a vyberte Přidat > funkci...:

    context action for adding new function

  2. V dialogovém okně Nová funkce Azure Vyberte požadovanou funkci:

    new Azure function dialog

    Seznam šablon funkcí Azure najdete v části Dostupné šablony funkcí.

Pomocí výše uvedeného postupu můžete do projektu aplikace funkcí přidat další funkce. Každá funkce v projektu může mít jinou aktivační událost, ale funkce musí mít přesně jednu aktivační událost. Další informace najdete v tématu o koncepcích triggerů a vazeb Azure Functions.

Publikování do Azure

  1. Klikněte pravým tlačítkem na název projektu a vyberte Publikovat > do Azure: Context menu with Publish > Publish to Azure... option highlighted

  2. Pokud jste už svůj účet Azure připojili k Visual Studio pro Mac zobrazí se seznam dostupných aplikačních služeb. Pokud jste se nepřihlásili, zobrazí se výzva k tomu.

  3. V dialogovém okně Publikovat do služby Aplikace Azure Můžete vybrat existující službu App Service nebo vytvořit novou kliknutím na Tlačítko Nový.

  4. V dialogovém okně Vytvořit novou službu App Service zadejte nastavení: New App Service dialog, with fields for service name, subscription, resource group, and service plan settings.

    Nastavení Popis
    Název služby App Service Globálně jedinečný název, který identifikuje vaši novou aplikaci funkcí.
    Předplatné Předplatné Azure, které se má použít.
    Skupina prostředků Název skupiny prostředků, ve které chcete vytvořit aplikaci funkcí Zvolte + , že chcete vytvořit novou skupinu prostředků.
    Plán služby Zvolte existující plán nebo vytvořte vlastní plán. Zvolte umístění v oblasti blízko vás nebo v blízkosti jiných služeb, ke kterým vaše funkce přistupují.
  5. Kliknutím na Tlačítko Další vytvoříte účet úložiště. Modul runtime Functions vyžaduje účet Azure Storage. Kliknutím na Vlastní vytvoříte účet úložiště pro obecné účely nebo použijete existující účet:

    New App Service dialog with prompt for storage account name.

  6. Kliknutím na Vytvořit vytvořte aplikaci funkce a související prostředky v Azure a nasaďte kód projektu funkce.

  7. Během publikování se může zobrazit výzva k zobrazení dialogového okna s informacemi o aktualizaci verze funkcí v Azure. Klikněte na Ano:

    Prompt asking to

Nastavení aplikace funkcí

Všechna nastavení přidaná do local.settings.json musí být také přidána do aplikace funkcí v Azure. Tato nastavení se při publikování projektu nenahrají automaticky.

Pokud chcete získat přístup k nastavení aplikace, přejděte na web Azure Portal na adrese https://ms.portal.azure.com/. V části Aplikace Functions vyberte Aplikace funkcí a zvýrazněte název vaší funkce:

Azure Functions menu

Na kartě Přehled vyberte nastavení aplikace v části Nakonfigurované funkce:

Over tab of Azure function

Tady můžete nastavit Nastavení aplikace funkcí, kde můžete přidat nová nastavení aplikace nebo upravit stávající:

application settings area of Azure portal

Jedním z důležitých nastavení, které možná budete muset nastavit, je FUNCTIONS_EXTENSION_VERSION. Při publikování z Visual Studio pro Mac by tato hodnota měla být nastavena na beta.

Dostupné šablony funkcí

  • Trigger GitHubu – Reagujte na události, ke kterým dochází v úložištích GitHubu. Další informace najdete v článku o Azure Functions na GitHubu .

    • GitHub commenter – Tato funkce se spustí, když obdrží webhook GitHubu pro problém nebo žádost o přijetí změn a přidá komentář.
    • Webhook GitHubu – Tato funkce se spustí, když obdrží webhook GitHubu.
  • HTTP – Spuštění kódu aktivujte pomocí požadavku HTTP. Existují explicitní šablony pro následující triggery HTTP:

    • Trigger HTTP
    • Vytvoření, aktualizace, čtení a odstranění HTTP GET (CRUD)
    • HTTP POST CRUD
    • Trigger HTTP s parametry
  • Časovač – Provedení čištění nebo jiných dávkových úloh podle předdefinovaného plánu Tato šablona má dvě pole: Název a plán, což je šesti polí výraz CRON. Další informace najdete v článku o službě Azure Functions v čase.

  • Trigger fronty – Jedná se o funkci, která bude reagovat na zprávy při jejich doručení do fronty Azure Queue Storage. Kromě názvu funkce tato šablona přebírá cestu (název fronty, ze které se zpráva přečte) a účet úložiště Připojení ion (název nastavení aplikace obsahující váš účet úložiště připojovací řetězec). Další informace najdete v článku o službě Azure Functions ve službě Queue Storage.

  • Trigger objektu blob – zpracování objektů blob služby Azure Storage při jejich přidání do kontejneru Kromě názvu funkce přebírá tato šablona také cestu a vlastnost připojení. Vlastnost cesta je cesta v rámci vašeho účtu úložiště, kterou trigger bude monitorovat. Účet připojení je název nastavení aplikace, které obsahuje váš účet úložiště připojovací řetězec. Další informace najdete v článku o službě Azure Functions Blob Storage.

  • Obecný webhook – Jedná se o jednoduchou funkci, která se spustí vždy, když obdrží požadavek z jakékoli služby, která podporuje webhooky. Další informace najdete v článku o Službě Azure Functions v obecných webhoocích.

  • Orchestrace trvalých funkcí – Odolné funkce umožňují psát stavové funkce v bezserverovém prostředí. Toto rozšíření za vás spravuje stav, kontrolní body a restartování. Další informace najdete v průvodcích o Durable functions.

  • Image Resizer – Tato funkce vytvoří změněné obrázky při každém přidání objektu blob do kontejneru. Šablona přebírá cestu a připojovací řetězec pro trigger, malý výstup obrázku a střední výstup obrázku.

  • Token SAS – Tato funkce vygeneruje token SAS pro daný kontejner a název objektu blob služby Azure Storage. Kromě názvu funkce přebírá tato šablona také cestu a vlastnost připojení. Vlastnost cesta je cesta v rámci vašeho účtu úložiště, kterou trigger bude monitorovat. Účet připojení je název nastavení aplikace, které obsahuje váš účet úložiště připojovací řetězec. Je také potřeba nastavit přístupová práva . Úroveň autorizace určuje, jestli funkce vyžaduje klíč rozhraní API a jaký klíč se má použít; Funkce používá funkční klíč; Správa používá přístupový klíč účtu. Další informace najdete ve funkci Azure v jazyce C# pro vygenerování ukázky tokenů SAS.