A bemeneti és kimeneti kötéstípusok megismerése

Befejeződött

Az adatok elérése és feldolgozása sok szoftveres megoldás esetén kulcsfontosságú feladat. Gondoljon például az alábbi esetekre:

  • A rendszer arra kéri, hogy implementálja a bejövő adatok Azure Blob Storage-ból az Azure Cosmos DB-be való áthelyezésének módját.
  • A bejövő üzeneteket egy üzenetsorba szeretné küldeni, hogy onnan a szervezet egy másik összetevője feldolgozhassa azokat.
  • A szolgáltatás lekéri a játékosok pontszámait egy üzenetsorból, amelyeket egy online eredménytáblán jelenít majd meg.

Ezen példák mindegyike adatmozgatással kapcsolatos. Mindegyik forgatókönyvben más az adatok forrása és célja, de hasonló mintán alapulnak: Csatlakozik egy adatforráshoz, majd adatokat olvas és ír. Az Azure Functions segítségével kötések használatával integrálhatja adatait és szolgáltatásait.

Mit jelent a kötés?

Az Azure Functions esetében kötések használatával deklaratívan hozzáférhet az adatokhoz a kódon keresztül. A kötések megkönnyítik az adatfolyamok következetes integrációját a függvényben. Több kötést is használhat, így több adatelemhez is hozzáférést biztosíthat. Ez az integráció azért hatékony, mert az adatforrásokhoz anélkül csatlakozhat, hogy konkrét kapcsolatlogikát kellene használnia (például adatbázis-kapcsolatokat vagy webes API-felületeket).

Kötések típusai

A függvényekhez kétféle kötést használhat:

  • Bemeneti kötés – Adatforráshoz csatlakozik. A függvényünk képes adatokat olvasni ezekből a bemeneti forrásokból.

  • Kimeneti kötés – Egy adat célhelyéhez csatlakozik. A függvényünk adatokat tud írni ezekre a kimeneti célokra.

Vannak triggerek is, amelyek speciális típusú bemeneti kötések, amelyek egy függvény futtatását okozzák. Például eseményindítóként konfigurálható egy Azure Event Grid-értesítés. Esemény bekövetkezésekor a függvény fut.

Támogatott kötések típusai

A kötés típusa határozza meg, hogy hol olvassuk vagy küldjük el az adatokat. Van egy kötés, amely válaszol a webes kérelmekre, és számos kötést kínál a különböző Azure-szolgáltatásokkal és külső szolgáltatásokkal való közvetlen interakcióhoz.

A kötéstípus használható bemenetként, kimenetként vagy mindkettőként. Egy függvény például írhat egy Blob Storage kimeneti kötésbe, de egy Blob Storage-frissítés egy másik függvényt is aktiválhat.

Gyakori kötéstípusok a következők:

  • Blob Storage
  • Azure Service Bus-üzenetsorok
  • Azure Cosmos DB
  • Azure-eseményközpontok
  • Külső fájlok
  • Külső táblák
  • HTTP-végpontok

Itt csak néhányat soroltunk fel. Több is van, és a függvények bővíthetőséggel is rendelkeznek, így további kötések is hozzáadhatók.

Kötések tulajdonságai

Minden kötéshez három tulajdonságra van szükség, de előfordulhat, hogy a használt kötés típusa és tárterülete alapján további tulajdonságokat kell megadnia.

  • Name – Meghatározza a függvény azon paraméterét, amelyen keresztül hozzáfér az adatokhoz. Egy üzenetsor bemeneti kötésében például ez a tulajdonság annak a függvényparaméternek a neve, amely fogadja az üzenetsor-üzenet tartalmát.

  • Típus – A kötés típusát azonosítja. Például a használni kívánt adatok vagy szolgáltatások típusa.

  • Irány – Azt jelzi, hogy az adatok milyen irányban haladnak. Például bemeneti vagy kimeneti kötés?

Ezen kívül a legtöbb kötéstípushoz egy ötödik tulajdonságot is meg kell adni:

  • Connection – Egy alkalmazásbeállítási kulcs nevét adja meg, amely tartalmazza a kapcsolati sztringet. A kötések az alkalmazásbeállításokban tárolt kapcsolati sztringeket használják, hogy a titkos kulcsokat elkülönítsék a függvény kódjától. A kapcsolati sztringek konfigurálhatóbbá és biztonságosabbá teszik a kódot.

Kötés létrehozása

A kötéseket JSON-fájlban lehet konfigurálni. A kötés a függvény function.json nevű konfigurációs fájljában van definiálva, és a függvény kódjával azonos mappában található.

Vizsgáljuk meg egy példát a bemeneti kötésre:

    ...
    {
      "name": "headshotBlob",
      "type": "blob",
      "path": "thumbnail-images/{filename}",
      "connection": "HeadshotStorageConnection",
      "direction": "in"
    },
    ...

A kötés létrehozásához a következő lépések szükségesek:

  1. Kötés létrehozása a function.json fájlban.

  2. A name változó értékének megadása. Ebben a példában a változó a blobadatokat tartalmazza.

  3. A type tár megadása. Az előző példában a Blob Storage-t használjuk.

  4. Adja meg az útvonalat a path tulajdonsággal, amely meghatározza a tárolót és az abba helyezett elem nevét. A path tulajdonságra a blob-eseményindító használatakor van szükség, és az itt látható stílusban kell megadni, kapcsos zárójelekkel az elérési út fájlnév részén. Ez a szintaxis létrehoz egy kötési kifejezést , amely lehetővé teszi, hogy hivatkozzon a blob nevére más kötésekben és a függvény kódjában. Ebben a példában a filename nevű függvény paraméteréhez bekerülne a függvényt elindító blob fájlneve.

  5. Adja meg a connection sztringbeállítás nevét, amelyet az alkalmazás beállításfájljában meghatározott. A rendszer kulcsként használja a nevet a tárfiókhoz való csatlakozáshoz szükséges kapcsolati sztring megkereséséhez.

  6. A direction definiálása in értékre. Ez adatokat olvas a blobból.

Kötések használatával csatlakozhat a függvényben található adatokhoz. Ebben a példában egy bemeneti kötéssel csatlakoztattuk a felhasználói képeket a függvényünk miniatűrökként való feldolgozásához.