Připojení funkcí k Azure Storage pomocí Visual Studio

Azure Functions umožňuje připojit Azure služby a další prostředky k funkcím, aniž byste museli psát vlastní integrační kód. Tyto vazby, které představují vstup i výstup, jsou deklarovány v rámci definice funkce. Data z vazeb má funkce k dispozici jako parametry. Trigger je speciální typ vstupního spojení. I když má funkce pouze jeden trigger, může mít více vstupních a výstupních vazeb. Další informace najdete v tématu Azure Functions koncepty triggerů a vazeb.

V tomto článku se dozvíte, jak pomocí Visual Studio připojit funkci, kterou jste vytvořili v článku previous quickstart k Azure Storage. Výstupní vazba, kterou přidáte do této funkce, zapisuje data z požadavku HTTP do zprávy ve frontě služby Azure Queue Storage.

Většina vazeb vyžaduje uložený řetězec připojení, který služba Functions používá k přístupu k vázané službě. Pro zjednodušení použijete účet Storage, který jste vytvořili pomocí aplikace funkcí. Připojení k tomuto účtu je již uloženo v nastavení aplikace s názvem AzureWebJobsStorage.

Požadavky

Než začnete s tímto článkem, musíte:

  • Dokončete část 1 rychlého startu Visual Studio.
  • Nainstalujte Azure Storage Explorer. Storage Explorer je nástroj, který použijete k prozkoumání zpráv fronty vygenerovaných výstupní vazbou. Storage Explorer se podporuje v operačních systémech macOS, Windows a Linux.
  • Přihlaste se ke svému předplatnému Azure z Visual Studio.

Stažení nastavení aplikace funkcí

V článku previous quickstart jste vytvořili aplikaci funkcí v Azure společně s požadovaným účtem Storage. Connection string pro tento účet se bezpečně uloží v nastavení aplikace v Azure. V tomto článku napíšete zprávy do fronty Storage ve stejném účtu. Pokud se chcete připojit ke svému účtu Storage při místním spuštění funkce, musíte stáhnout nastavení aplikace do souboru local.settings.json.

  1. V Solution Explorer klikněte pravým tlačítkem na project a vyberte Publish.

  2. Na kartě Publish v části Hosting rozbalte tři tečky (... ) a vyberte nastavení Manage Azure App Service.

    Edit nastavení aplikace

  3. V části AzureWebJobsStorage zkopírujte hodnotu řetězce z Remote do Local a pak vyberte OK.

Vazba úložiště, která používá nastavení AzureWebJobsStorage pro připojení, se teď může připojit k úložišti fronty při místním spuštění.

Registrace rozšíření vazeb

Vzhledem k tomu, že používáte výstupní vazbu úložiště fronty, musíte před spuštěním projektu nainstalovat rozšíření vazeb úložiště. Kromě triggerů typu HTTP a časovače se vazby implementují jako balíčky rozšíření.

  1. V nabídce Tools vyberte NuGet Package Manager>Package Manager Console.

  2. V konzole spusťte následující příkaz Install-Package a nainstalujte rozšíření Storage:

    Install-Package Microsoft.Azure.Functions.Worker.Extensions.Storage.Queues
    

Teď můžete do projektu přidat výstupní vazbu úložiště.

Přidejte výstupní vazbu

V project jazyka C# jsou vazby definovány jako atributy vazby v metodě funkce. Konkrétní definice závisí na tom, jestli vaše aplikace běží v procesu (knihovna tříd C#) nebo v izolovaném pracovním procesu.

Otevřete soubor HttpExample.cs project a přidejte následující třídu MultiResponse:

public class MultiResponse
{
    [QueueOutput("outqueue", Connection = "AzureWebJobsStorage")]
    public string[] Messages { get; set; }
    public IActionResult HttpResponse { get; set; }
}

Třída MultiResponse umožňuje zapisovat do úložné fronty s názvem outqueue a úspěšnou zprávu HTTP. Do fronty může být odesláno více zpráv, protože atribut QueueOutput se použije na pole řetězců.

Vlastnost Connection nastaví připojovací řetězec pro účet úložiště. V tomto případě byste mohli vynechat Connection, protože už používáte výchozí účet storage.

Přidání kódu, který používá výstupní vazbu

Po definování vazby můžete použít name vazby k přístupu jako atribut v podpisu funkce. Použitím výstupní vazby nemusíte používat kód sady Azure Storage SDK k ověřování, získání odkazu na frontu nebo k zápisu dat. Tyto úlohy za vás provádí běhové prostředí Functions a vazba výstupu fronty.

Nahraďte existující Run metodu následujícím kódem:

[Function("HttpExample")]
public MultiResponse Run([HttpTrigger(AuthorizationLevel.Function, "get", "post")] HttpRequest req)
{
    _logger.LogInformation("C# HTTP trigger function processed a request.");

    var message = "Welcome to Azure Functions!";

    // Return a response to both HTTP trigger and storage output binding.
    return new MultiResponse()
    {
        // Write a single message.
        Messages = new string[] { message },
        HttpResponse = new OkObjectResult(message)
    };
}

Místní spuštění funkce

  1. Funkci spustíte stisknutím klávesy F5 v Visual Studio. Možná budete muset povolit výjimku brány firewall, aby nástroje mohly zpracovávat požadavky HTTP. Úrovně autorizace se nikdy nevynucují při místním spuštění funkce.

  2. Zkopírujte adresu URL funkce z výstupu modulu runtime Azure Functions.

    lokální runtime Azure

  3. Vložte adresu URL požadavku HTTP do adresního řádku prohlížeče 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í:

    Funkce odezvy localhostu v prohlížeči

  4. Ladění zastavíte stisknutím klávesy Shift+F5 v Visual Studio.

Při prvním použití výstupní vazby se ve vašem účtu storage vytvoří nová fronta s názvem outqueue. K ověření, že byla fronta vytvořena spolu s novou zprávou, použijete Storage Explorer.

Připojení Storage Explorer k účtu

Tuto část přeskočte, pokud jste už nainstalovali Azure Storage Explorer a připojili ho ke svému účtu Azure.

  1. Spusťte nástroj Azure Storage Explorer, vlevo vyberte ikonu připojení a vyberte Přidat účet.

    Screenshot, jak přidat účet Azure do Microsoft Azure Storage Explorer.

  2. V dialogovém okně Pojení zvolte Přidat účet Azure zvolte prostředí Azure a pak vyberte Sign in... .

    Screenshot přihlášení k okně účtu Azure.

Po úspěšném přihlášení ke svému účtu se zobrazí všechna Azure předplatná přidružená k vašemu účtu. Zvolte své předplatné a vyberte Otevřít Průzkumníka.

Prozkoumejte výstupní frontu

  1. V Storage Explorer rozbalte uzel Queues a pak vyberte frontu s názvem outqueue.

    Tato fronta obsahuje zprávu, kterou vytvořila výstupní vazba fronty při spuštění funkce aktivované protokolem HTTP. Pokud jste funkci vyvolali s výchozí hodnotou nameAzure, zpráva fronty je Název předaný funkci: Azure.

    Screenshot zprávy ve frontě zobrazené v Azure Storage Explorer.

  2. Spusťte funkci znovu, odešlete další požadavek a ve frontě se zobrazí nová zpráva.

Teď je čas znovu publikovat aktualizovanou aplikaci funkcí na Azure.

Opětovné nasazení a ověření aktualizované aplikace

  1. V Solution Explorer klikněte pravým tlačítkem na project a vyberte Publish a potom zvolte Publish a znovu publikujte project Azure.

  2. Po dokončení nasazení můžete znovu použít prohlížeč k otestování znovu nasazené funkce. Stejně jako předtím připojte řetězec &name=<yourname> dotazu k adrese URL.

  3. Znovu se podívejte na zprávu ve frontě úložiště, abyste ověřili, že výstupní vazba znovu generuje novou zprávu ve frontě.

Vyčištění prostředků

Další rychlé návody v této kolekci navazují na tento rychlý návod. Pokud plánujete pracovat s dalšími rychlými průvodci, tutoriály nebo s některou ze služeb, které jste vytvořili v tomto rychlém průvodci, neodstraňujte prostředky.

Resurzy v Azure odkazují na funkční aplikace, funkce, úložiště účty atd. Jsou seskupené do skupin prostředků, a můžete odstranit vše ve skupině tím, že odstraníte skupinu.

Vytvořili jste prostředky pro dokončení těchto rychlých startů. Tyto prostředky se vám můžou účtovat v závislosti na stavu účtu a cenách služeb . Pokud prostředky už nepotřebujete, můžete k jejich odstranění použít tento postup:

  1. V portálu Azure přejděte na stránku Skupina prostředků.

    Pokud se chcete na tuto stránku dostat ze stránky aplikace funkcí, vyberte kartu přehled a potom vyberte odkaz ve skupině prostředků.

    Snímek obrazovky znázorňující výběr skupiny prostředků, kterou chcete odstranit ze stránky funkční aplikace

    Pokud se chcete na tuto stránku dostat z řídicího panelu, vyberte Skupiny prostředků a pak vyberte skupinu prostředků, kterou jste použili pro tento článek.

  2. Na stránce Skupina prostředků zkontrolujte seznam zahrnutých prostředků a ověřte, že se jedná o ty, které chcete odstranit.

  3. Vyberte Odstranit skupinu prostředků a postupujte podle pokynů.

    Odstranění může trvat několik minut. Po jeho dokončení se na několik sekund zobrazí oznámení. K zobrazení tohoto oznámení můžete také vybrat ikonu zvonku v horní části stránky.

Další kroky

Aktualizovali jste funkci aktivovanou protokolem HTTP tak, aby zapisovala data do Storage fronty. Další informace o vývoji funkcí najdete v tématu Develop Azure Functions pomocí Visual Studio.

Dále byste měli povolit monitorování Application Insights pro vaši aplikaci funkcí: