Csatlakozás függvények az Azure Storage-ba a Visual Studióval

Az Azure Functions segítségével anélkül csatlakoztathatja az Azure-szolgáltatásokat és más erőforrásokat a függvényekhez, hogy saját integrációs kódot kellene írnia. Ezek a kötések, amelyek mind a bemenetet, mind a kimenetet képviselik, a függvénydefinícióban deklarálódnak. A kötések adatai a függvények számára paraméterekként vannak megadva. Az eseményindító egy speciális típusú bemeneti kötés. Bár egy függvénynek csak egy eseményindítója van, több bemeneti és kimeneti kötéssel is rendelkezhet. További információ: Azure Functions-eseményindítók és kötések fogalmai.

Ez a cikk bemutatja, hogyan csatlakoztathatja az előző rövid útmutatóban létrehozott függvényt az Azure Storage-hoz a Visual Studióval. A függvényhez hozzáadott kimeneti kötés adatokat ír a HTTP-kérésből egy üzenetbe egy Azure Queue Storage-üzenetsorba.

A legtöbb kötéshez olyan tárolt kapcsolati sztring szükséges, amelyet a Functions a kötött szolgáltatás eléréséhez használ. A könnyebb használat érdekében használja a függvényalkalmazással létrehozott Storage-fiókot. A fiókhoz való csatlakozást a rendszer már egy nevesített AzureWebJobsStoragealkalmazásbeállításban tárolja.

Előfeltételek

A cikk megkezdése előtt a következőt kell tennie:

  • Töltse ki a Visual Studio rövid útmutatójának 1. részét.
  • Telepítse az Azure Storage Explorert. A Storage Explorer egy eszköz, amellyel megvizsgálhatja a kimeneti kötés által létrehozott üzenetsor-üzeneteket. A Storage Explorer macOS, Windows és Linux rendszerű operációs rendszereken támogatott.
  • Jelentkezzen be Az Azure-előfizetésbe a Visual Studióból.

A függvényalkalmazás beállításainak letöltése

Az előző rövid útmutatóban létrehozott egy függvényalkalmazást az Azure-ban a szükséges Storage-fiókkal együtt. A fiók kapcsolati sztring biztonságosan tárolja az Azure-beli alkalmazásbeállításokban. Ebben a cikkben üzeneteket ír egy storage-üzenetsorba ugyanabban a fiókban. Ha a függvény helyi futtatásakor szeretne csatlakozni a Storage-fiókjához, le kell töltenie az alkalmazásbeállításokat a local.settings.json fájlba.

  1. A Megoldáskezelőben kattintson a jobb gombbal a projektre, és válassza a Publish (Közzététel) lehetőséget.

  2. A Közzététel lap Üzemeltetés területén bontsa ki a három elemet (...), és válassza a Azure-alkalmazás szolgáltatás beállításainak kezelése lehetőséget.

    Az alkalmazásbeállítások szerkesztése

  3. Az AzureWebJobsStorage területen másolja a Távoli sztring értékét a Helyi értékre, majd válassza az OK gombot.

A kapcsolat beállítását AzureWebJobsStorage használó tárolókötés mostantól csatlakozhat a Queue Storage-hoz helyi futtatáskor.

Kötési bővítmények regisztrálása

Mivel queue storage kimeneti kötést használ, a projekt futtatása előtt telepítenie kell a Storage-kötések bővítményt. A HTTP- és időzítő-eseményindítók kivételével a kötések bővítménycsomagként vannak implementálva.

  1. Az Eszközök menüben válassza a NuGet Csomagkezelő> Csomagkezelő Konzol lehetőséget.

  2. A konzolon futtassa a következő Install-Package parancsot a Storage-bővítmények telepítéséhez:

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

Most hozzáadhatja a tárkimeneti kötést a projekthez.

Kimeneti kötés hozzáadása

Egy C#-projektben a kötések a függvénymetódus kötési attribútumaiként vannak definiálva. Bizonyos definíciók attól függenek, hogy az alkalmazás folyamatban (C#-osztálytár) vagy izolált feldolgozói folyamatban fut-e.

Nyissa meg a HttpExample.cs projektfájlt, és adja hozzá a következő MultiResponse osztályt:

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

Az MultiResponse osztály lehetővé teszi, hogy egy elnevezett outqueue tárolási üzenetsorba és egy HTTP-sikerüzenetbe írjon. Több üzenet is elküldhető az üzenetsorba, mert az QueueOutput attribútum egy sztringtömbre van alkalmazva.

A Connection tulajdonság beállítja a tárfiók kapcsolati sztring. Ebben az esetben kihagyhatja Connection , mert már használja az alapértelmezett tárfiókot.

Kimeneti kötést használó kód hozzáadása

A kötés definiálása után a name kötés használatával attribútumként érheti el a függvény-aláírásban. Kimeneti kötés használatával nem kell az Azure Storage SDK-kódot használnia a hitelesítéshez, az üzenetsor-referenciák lekéréséhez vagy az adatok írásához. A Functions futtatókörnyezet és az üzenetsor kimeneti kötése végrehajtja ezeket a feladatokat.

Cserélje le a meglévő HttpExample osztályt a következő kódra:

    [Function("HttpExample")]
    public static MultiResponse Run([HttpTrigger(AuthorizationLevel.Function, "get", "post")] HttpRequestData req,
        FunctionContext executionContext)
    {
        var logger = executionContext.GetLogger("HttpExample");
        logger.LogInformation("C# HTTP trigger function processed a request.");

        var message = "Welcome to Azure Functions!";

        var response = req.CreateResponse(HttpStatusCode.OK);
        response.Headers.Add("Content-Type", "text/plain; charset=utf-8");
        response.WriteString(message);

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

Függvény helyi futtatása

  1. A függvény futtatásához nyomja le az F5 billentyűt a Visual Studióban. Előfordulhat, hogy engedélyeznie kell egy tűzfalkivételt, hogy az eszközök kezelni tudják a HTTP-kéréseket. A rendszer soha nem kényszeríti ki az engedélyezési szinteket, ha helyileg futtat egy függvényt.

  2. Másolja a függvény URL-címét az Azure-függvény futtatókörnyezetéből.

    Az Azure helyi futtatókörnyezete

  3. Illessze be a HTTP-kérés URL-címét a böngésző címsorába, és futtassa a kérést. Az alábbi képen a böngészőben a függvény által visszaadott helyi GET kérésre adott válasz látható:

    A függvény által visszaadott localhost válasz a böngészőben

  4. A hibakeresés leállításához nyomja le a Shift+F5 billentyűt a Visual Studióban.

A függvények futtatókörnyezete létrehoz egy új, elnevezett outqueue üzenetsort a tárfiókban a kimeneti kötés első használatakor. A Storage Explorer használatával ellenőrizheti, hogy az üzenetsor létrejött-e az új üzenettel együtt.

A Storage Explorer csatlakoztatása a fiókjához

Hagyja ki ezt a szakaszt, ha már telepítette az Azure Storage Explorert, és csatlakoztatta az Azure-fiókjához.

  1. Futtassa az Azure Storage Explorer eszközt, válassza a bal oldali csatlakozás ikont, és válassza a Fiók hozzáadása lehetőséget.

    Képernyőkép arról, hogyan vehet fel Azure-fiókot a Microsoft Azure Storage Explorerbe.

  2. A Csatlakozás párbeszédpanelen válassza az Azure-fiók hozzáadása, az Azure-környezet kiválasztása, majd a Bejelentkezés... lehetőséget.

    Képernyőkép az Azure-fiók ablakba való bejelentkezésről.

Miután sikeresen bejelentkezett a fiókjába, megjelenik a fiókjához társított összes Azure-előfizetés. Válassza ki az előfizetést, és válassza az Explorer megnyitása lehetőséget.

A kimeneti üzenetsor vizsgálata

  1. A Storage Explorerben bontsa ki az Üzenetsorok csomópontot, majd válassza ki a outqueue nevű üzenetsort.

    Az üzenetsor tartalmazza az üzenetet, amelyet az üzenetsor kimeneti kötése létrehozott a HTTP által aktivált függvény futtatásakor. Ha az alapértelmezett Azurename értékkel hívta meg a függvényt, az üzenetsorban található üzenet a következő lesz: A függvénynek átadott név: Azure.

    Képernyőkép az Azure Storage Explorerben megjelenő üzenetsorról.

  2. Futtassa újra a függvényt, küldjön egy másik kérést, és megjelenik egy új üzenet az üzenetsorban.

Most itt az ideje, hogy újra közzétehesse a frissített függvényalkalmazást az Azure-ban.

A frissített alkalmazás ismételt üzembe helyezése és ellenőrzése

  1. A Megoldáskezelő kattintson a jobb gombbal a projektre, és válassza a Közzététel lehetőséget, majd a Közzététel lehetőséget választva tegye közzé újra a projektet az Azure-ban.

  2. Az üzembe helyezés befejezése után ismét a böngészővel tesztelheti az újra üzembe helyezhető függvényt. A korábbiakhoz hasonlóan fűzze hozzá a lekérdezési sztringet &name=<yourname> az URL-címhez.

  3. Ismét tekintse meg az üzenetet a tárolási üzenetsorban annak ellenőrzéséhez, hogy a kimeneti kötés ismét létrehoz-e új üzenetet az üzenetsorban.

Az erőforrások eltávolítása

Az ebben a gyűjteményben lévő többi rövid útmutató erre a rövid útmutatóra épül. Ha további rövid útmutatókkal, oktatóanyagokkal vagy az ebben a rövid útmutatóban létrehozott szolgáltatásokkal szeretne dolgozni, ne törölje az erőforrásokat.

Az erőforrások kifejezés az Azure-ban például függvényalkalmazásokra, függvényekre vagy tárfiókokra utal. Ezek erőforráscsoportokba vannak csoportosítva, és a csoport törlésével törölheti a csoport összes elemét.

A rövid útmutatók elvégzéséhez erőforrásokat hozott létre. Előfordulhat, hogy ezekért az erőforrásokért a fiók állapotától és a szolgáltatás díjszabásától függően kell fizetnie. Ha már nincs szüksége ezekre az erőforrásokra, a következőképpen törölheti őket:

  1. Az Azure Portalon nyissa meg az Erőforráscsoport oldalt.

    Ha a függvényalkalmazás oldaláról szeretné elérni ezt a lapot, válassza az Áttekintés lapot, majd válassza az Erőforráscsoport alatti hivatkozást.

    Képernyőkép a törölni kívánt erőforráscsoportról a függvényalkalmazás oldaláról.

    Ha az irányítópultról szeretné elérni ezt a lapot, válassza az Erőforráscsoportok lehetőséget, majd válassza ki a cikkhez használt erőforráscsoportot.

  2. Az Erőforráscsoport lapon tekintse át a belefoglalt erőforrások listáját, és ellenőrizze, hogy ezek-e törölni kívánt erőforrások.

  3. Válassza az Erőforráscsoport törlése lehetőséget , és kövesse az utasításokat.

    A törlés eltarthat néhány percig. Amint a művelet befejeződött, néhány másodpercre egy értesítés jelenik meg. Az értesítést úgy is megtekintheti, ha kiválasztja a harang ikont az oldal tetején.

Következő lépések

Frissítette a HTTP által aktivált függvényt, hogy adatokat írjon egy Storage-üzenetsorba. A Functions fejlesztésével kapcsolatos további információkért lásd: Azure Functions fejlesztése a Visual Studióval.

Ezután engedélyeznie kell az Alkalmazás Elemzések monitorozását a függvényalkalmazáshoz: