Reagálás Blob Storage-eseményekre

Az Azure Storage-események lehetővé teszik az alkalmazások számára, hogy reagáljanak az eseményekre, például blobok létrehozására és törlésére. Ez nem igényel bonyolult kódot, vagy drága és nem hatékony lekérdezési szolgáltatásokat. A legjobb az, hogy csak azért fizet, amit használ.

A Blob Storage-eseményeket az Azure Event Grid használatával küldi el az olyan előfizetőknek, mint az Azure Functions, az Azure Logic Apps vagy akár a saját HTTP-figyelője. Az Event Grid megbízható eseménykézbesítést biztosít az alkalmazásoknak a részletes újrapróbálkozási szabályzatok és a kézbesítetlen levelek kezelése segítségével.

A Blob Storage-események sémacikkében megtekintheti a Blob Storage által támogatott események teljes listáját.

A Blob Storage gyakori eseményforgatókönyvei közé tartozik a kép- vagy videofeldolgozás, a keresési indexelés vagy bármely fájlorientált munkafolyamat. Az aszinkron fájlfeltöltések kiválóan alkalmasak az eseményekhez. Ha a módosítások ritkán fordulnak elő, de a forgatókönyv azonnali válaszkészséget igényel, az eseményalapú architektúra különösen hatékony lehet.

Ha szeretné kipróbálni a Blob Storage-eseményeket, tekintse meg az alábbi rövid útmutatókat:

Ha ezt az eszközt szeretné használni: Lásd ezt a cikket:
Azure Portal Rövid útmutató: Blob Storage-események átirányítása webvégpontra az Azure Portallal
PowerShell Rövid útmutató: Tárolási események átirányítása webes végpontra a PowerShell-lel
Azure CLI Rövid útmutató: Storage-események átirányítása webes végpontra az Azure CLI használatával

A Blob Storage-eseményekre az Azure-függvények használatával történő reagálás részletes példáit az alábbi cikkekben tekintheti meg:

Feljegyzés

A Storage (általános célú v1) nemtámogatja az Event Grid-integrációt.

Az eseménymodell

Az Event Grid esemény-előfizetésekkel irányítja át az eseményüzeneteket az előfizetőknek. Ez a kép az esemény közzétevői, az esemény-előfizetések és az eseménykezelők közötti kapcsolatot mutatja be.

Event Grid-modell

Először iratkozzon fel egy végpontot egy eseményre. Ezután egy esemény aktiválásakor az Event Grid szolgáltatás adatokat küld az eseményről a végpontnak.

Tekintse meg a Blob Storage-események sémacikkét :

  • A Blob Storage-események teljes listája és az egyes események aktiválásának menete.

  • Példa az eseményrács által az egyes eseményekre küldött adatokra.

  • Az adatokban megjelenő kulcsértékpárok célja.

Események szűrése

A blobesemények szűrhetők a létrehozott/törölt objektum eseménytípusa, tárolóneve vagy neve alapján. Az Event Grid szűrői megegyeznek a tárgy elejével vagy végével, így az egyező tárgyú események az előfizetőhöz kerülnek.

A szűrők alkalmazásával kapcsolatos további információkért tekintse meg az Event Grid eseményeinek szűrése című témakört.

A Blob Storage-események tárgya a következő formátumot használja:

/blobServices/default/containers/<containername>/blobs/<blobname>

A tárfiók összes eseményének egyeztetéséhez üresen hagyhatja a tárgyszűrőket.

Az előtaggal rendelkező tárolókban létrehozott blobok eseményeinek egyeztetéséhez használjon egy szűrőt subjectBeginsWith , például:

/blobServices/default/containers/containerprefix

Az adott tárolóban létrehozott blobok eseményeinek egyeztetéséhez használjon a következőhöz hasonló szűrőt subjectBeginsWith :

/blobServices/default/containers/containername/

Ha egy adott tárolóban létrehozott blobok eseményeit szeretné egy blobnév-előtaggal megosztani, használjon a következőhöz hasonló szűrőt subjectBeginsWith :

/blobServices/default/containers/containername/blobs/blobprefix

A blob utótagot megosztó adott tárolóban létrehozott blobok eseményeinek egyeztetéséhez használjon olyan szűrőt subjectEndsWith , mint a ".log" vagy a ".jpg". További információ: Event Grid Concepts.

Az események felhasználásának gyakorlata

A Blob Storage-eseményeket kezelő alkalmazásoknak néhány ajánlott eljárást kell követnie:

  • Mivel több előfizetés is konfigurálható úgy, hogy az eseményeket ugyanarra az eseménykezelőre irányítsuk, fontos, hogy ne feltételezzük, hogy az események egy adott forrásból származnak, hanem az üzenet témájának ellenőrzése, hogy az a várt tárfiókból származik-e.

  • Hasonlóképpen ellenőrizze, hogy az eventType olyan-e, amelyet készen áll a feldolgozásra, és ne feltételezze, hogy az összes kapott esemény a várt típusú lesz.

  • Bár a legtöbb üzenet közel valós időben érkezik, az üzenet érkezéséhez szükséges idő körül nincs szolgáltatásiszint-szerződés. Bizonyos esetekben eltarthat néhány percig, amíg az üzenet megérkezik. Mivel az üzenetek némi késés után érkezhetnek, az etag mezők segítségével megtudhatja, hogy az objektumok adatai továbbra is naprakészek-e. Az etag mező használatának megismeréséhez lásd : Egyidejűség kezelése a Blob Storage-ban.

  • Mivel az üzenetek sorrendből érkezhetnek, a szekvenciamezők segítségével megismerheti az egyes objektumok eseményeinek sorrendjét. A szekvenciamező egy karakterlánc-érték, amely egy adott blobnévhez tartozó események logikai sorrendjét jelöli. A standard sztringek összehasonlításával megismerheti az ugyanazon a blobnéven lévő két esemény relatív sorrendjét.

  • A tárolási események legalább egyszer biztosítják az előfizetőknek történő kézbesítést, ami biztosítja az összes üzenet kimenetét. A háttércsomópontok és szolgáltatások közötti újrapróbálkozások vagy az előfizetések rendelkezésre állása miatt azonban ismétlődő üzenetek fordulhatnak elő. Az üzenetkézbesítésről és az újrapróbálkozásról további információt az Event Grid üzenetkézbesítési és újrapróbálkozása című témakörben talál.

  • A BlobType mezővel megtudhatja, hogy milyen típusú műveletek engedélyezettek a blobon, és milyen ügyfélkódtár-típusokat kell használnia a blob eléréséhez. Az érvényes értékek vagy BlockBlob .PageBlob

  • Használja az URL-mezőt a CloudBlockBlobCloudAppendBlob konstruktorokkal a blob eléréséhez.

  • Figyelmen kívül hagyja a nem értett mezőket. Ez a gyakorlat segít abban, hogy rugalmasan alkalmazkodjon a jövőben esetleg hozzáadott új funkciókhoz.

  • Ha meg szeretné győződni arról, hogy a Microsoft.Storage.BlobCreated esemény csak a blokkblob teljes véglegesítésekor aktiválódik, szűrje az eseményt a CopyBlob, PutBlobvagy PutBlockListFlushWithClose REST API-hívásokra. Ezek az API-hívások csak akkor aktiválják a Microsoft.Storage.BlobCreated eseményt, ha az adatok teljes mértékben le vannak kötelezve egy blokkblobra. Ha szeretné megtudni, hogyan hozhat létre szűrőt, olvassa el az Event Grid eseményeinek szűrése című témakört.

Szolgáltatások támogatása

Ennek a funkciónak a támogatását befolyásolhatja a Data Lake Storage Gen2, a Network File System (NFS) 3.0 protokoll vagy az SSH File Transfer Protocol (SFTP) engedélyezése. Ha engedélyezte bármelyik funkciót, tekintse meg a Blob Storage szolgáltatástámogatását az Azure Storage-fiókokban a funkció támogatásának felméréséhez.

Következő lépések

További információ az Event Gridről, és próbálja ki a Blob Storage-eseményeket: