Azure Blob-adatok kezelése és keresése blobindexcímkék használatával

Ahogy az adathalmazok egyre nagyobbak lesznek, nehéz lehet megtalálni egy adott objektumot egy adattengerben. A blobindex-címkék adatkezelési és felderítési képességeket biztosítanak a kulcs-érték indexcímkék attribútumainak használatával. Egyetlen tárolóban vagy a tárfiók összes tárolójában kategorizálhatja és megkeresheti az objektumokat. Az adatkövetelmények változásával az objektumok dinamikusan kategorizálhatók az indexcímkék frissítésével. Az objektumok a helyükön maradhatnak a jelenlegi tárolószervezettel.

A blobindexcímkék lehetővé teszik a következőt:

  • A blobok dinamikus kategorizálása kulcs-érték indexcímkék használatával

  • Adott címkézett blobok gyors megkeresése egy teljes tárfiókban

  • Feltételes viselkedés megadása blob API-khoz az indexcímkék kiértékelése alapján

  • Indexcímkék használata speciális vezérlőkhöz olyan funkciókhoz, mint a blobéletciklus-kezelés

Fontolja meg azt a forgatókönyvet, amelyben több millió blob található a tárfiókban, amelyeket számos különböző alkalmazás érhet el. Egyetlen projekt összes kapcsolódó adatát meg szeretné keresni. Nem biztos abban, hogy mi van a hatókörben, mivel az adatok több különböző elnevezési konvencióval rendelkező tárolóban is eloszthatók. Az alkalmazások azonban a projektjük alapján feltöltik az összes adatot címkékkel. Ahelyett, hogy több millió blobban keresne, és összehasonlítja Project = Contoso a neveket és tulajdonságokat, használhatja a felderítési feltételt. A blobindex az összes tárolót szűri a teljes tárfiókban, hogy gyorsan megtalálja és visszaadja az 50 blobkészletet a tárfiókból Project = Contoso.

A blobindex használatára vonatkozó példákat a Blob indexcímkék használata adatok kezeléséhez és kereséséhez című témakörben találja.

Blobindex-címkék és adatkezelés

A tároló- és blobnév-előtagok egydimenziós kategóriák. A blobindexcímkék lehetővé teszik a blob adattípusok (Blokk, Hozzáfűzés vagy Oldal) többdimenziós kategorizálását. A többdimenziós kategorizálást az Azure Blob Storage natív indexeli, így gyorsan megtalálhatja az adatokat.

Fontolja meg az alábbi öt blobot a tárfiókban:

  • container1/transaction.csv

  • container2/campaign.docx

  • photos/bannerphoto.png

  • archives/completed/2019review.pdf

  • logs/2020/01/01/logfile.txt

Ezek a blobok tároló-/virtuális mappa/blobnév előtaggal vannak elválasztva. Ezen az öt blobon beállíthatja az indexcímke-attribútumot Project = Contoso , hogy kategorizálja őket, miközben fenntartja a jelenlegi előtag szervezetét. Az indexcímkék hozzáadása szükségtelenné teszi az adatok áthelyezését azáltal, hogy lehetővé teszi az adatok szűrését és keresését az index használatával.

Blobindexcímkék beállítása

A blobindex-címkék kulcs-érték attribútumok, amelyek a tárfiókban lévő új vagy meglévő objektumokra alkalmazhatók. A feltöltési folyamat során indexcímkéket adhat meg a Blob elhelyezése, a Blokklista elhelyezése vagy a Blob másolása művelet és az opcionális x-ms-tags fejléc használatával. Ha már vannak blobok a tárfiókban, hívja meg a Blobcímkék beállítása parancsot, amelyek egy formázott XML-dokumentumot a kérelem törzsében lévő indexcímkékkel együtt adnak át.

Fontos

A blobindexcímkék beállítását a tárblobadatok tulajdonosa és bárki végezheti el, aki rendelkezik olyan közös hozzáférésű jogosultsággal, amely jogosult a blob címkéinek elérésére (SAS-engedély t ).

Emellett az engedéllyel rendelkező RBAC-felhasználók is végrehajthatják ezt a Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags/write műveletet.

Egyetlen címkét alkalmazhat a blobra, amely leírja, hogy mikor fejeződött be az adatok feldolgozása.

"processedDate" = "2020-01-01"

Több címkét is alkalmazhat a blobra, hogy jobban leíróbb legyen az adatok.

"Project" = "Contoso" "Classified" = "True" "Status" = "Unprocessed" "Priority" = '01'

A meglévő indexcímke-attribútumok módosításához kérje le a meglévő címkeattribútumokat, módosítsa a címkeattribútumokat, és cserélje le a Blobcímkék beállítása műveletre. Ha el szeretné távolítani az összes indexcímkét a blobból, hívja meg a Set Blob Tags műveletet címkeattribútumok nélkül. Mivel a blobindex-címkék a blobadatok tartalmának alforrásai, nem módosítja az alapul szolgáló tartalmat, Set Blob Tags és nem módosítja a blob utolsó módosítási időpontját vagy eTagjét. Az összes jelenlegi alapblobhoz létrehozhat vagy módosíthat indexcímkéket. Az indexcímkék a korábbi verziókhoz is megmaradnak, de a blobindexmotor nem továbbítja őket, így nem kérdezheti le az indexcímkéket a korábbi verziók lekéréséhez. A pillanatképeken vagy a helyreállíthatóan törölt blobokon lévő címkék nem módosíthatók.

A blobindex-címkékre a következő korlátozások vonatkoznak:

  • Minden blob legfeljebb 10 blobindex-címkével rendelkezhet

  • A címkekulcsnak 1 és 128 karakter közöttinek kell lennie.

  • A címke értékeinek nulla és 256 karakter közöttinek kell lenniük.

  • A címkekulcsok és -értékek megkülönböztetik a kis- és nagybetűket.

  • A címkekulcsok és -értékek csak a sztring adattípusokat támogatják. A program minden számot, dátumot, időpontot vagy speciális karaktert sztringként ment.

  • Ha a verziószámozás engedélyezve van, az indexcímkéket a blob egy adott verziójára alkalmazza a rendszer. Ha az indexcímkéket az aktuális verzióra állítja be, és létrejön egy új verzió, akkor a címke nem lesz társítva az új verzióval. A címke csak az előző verzióhoz lesz társítva.

  • A címkék kulcsainak és értékeinek meg kell felelnie az alábbi elnevezési szabályoknak:

    • Alfanumerikus karakterek:

      • a through z (kisbetűk)

      • AZ (nagybetűk)

      • 0–9 (számok)

    • Érvényes speciális karakterek: szóköz, plusz, mínusz, pont, kettőspont, egyenlő, aláhúzás, perjel ( +-.:=_/)

Blobindex-címkék lekérése és listázása

A blobindex-címkék a blobadatok mellett alforrásként vannak tárolva, és az alapul szolgáló blobadatok tartalmától függetlenül lekérhetők. Egyetlen blob blob indexcímkéi a Blobcímkék lekérése művelettel kérhetők le. A paraméterrel rendelkező Blobok listázása művelet a include:tags tárolóban lévő összes blobot is visszaadja a blobindex-címkékkel együtt.

Fontos

A blobindex-címkék lekérését és listázását a Storage Blob-adattulajdonos és bárki végezheti el, aki rendelkezik olyan közös hozzáférésű jogosultsággal, amely jogosult a blob címkéinek elérésére (SAS-engedély t ).

Emellett az engedéllyel rendelkező RBAC-felhasználók is végrehajthatják ezt a Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags/read műveletet.

Minden olyan blob esetében, amely legalább egy blobindexcímkével rendelkezik, a rendszer a x-ms-tag-count Blobok listázása, a Blob lekérése és a Blob tulajdonságainak lekérése műveletben adja vissza a blob indexcímkéinek számát jelző műveletben.

Adatok keresése blobindexcímkék használatával

Az indexelő motor egy többdimenziós indexben teszi elérhetővé a kulcs-érték attribútumokat. Miután beállította az indexcímkéket, azok a blobon találhatók, és azonnal lekérhetők.

A blobindex frissítése eltarthat egy ideig. Ez a címkék hozzáadására és a meglévők szerkesztésére is igaz. A szükséges idő a számítási feladattól függ. Ha például egy Blobcímkék beállítása művelet másodpercenként 15000 és 20000 tranzakció között 30 percet vesz igénybe, akkor akár 10 percet is igénybe vehet az összes blob indexelése. Alacsonyabb sebesség esetén az indexelési késleltetés egy másodperc alatt is lehet. A forgalom eloszlása az indexelési késésekre is hatással van. Ha például egy ügyfélalkalmazás szekvenciális sorrendben állítja be a blobok címkéit ugyanabban a tárolóban, a késés nagyobb lehet, mint az, ha a címkéket nem együtt található blobokra alkalmazza a rendszer.

A blobindex frissítése után használhatja a Blob Storage által kínált natív lekérdezési és felderítési képességeket.

A Blobok keresése címkék szerint művelettel szűrt blobokat kaphat, amelyek indexcímkéi megfelelnek egy adott lekérdezési kifejezésnek. Find Blobs by Tags Támogatja a tárfiókon belüli összes tároló szűrését, vagy a szűrést egyetlen tárolóra is kiterjedheti. Mivel az összes indexcímkekulcs és érték sztring, a relációs operátorok lexikográfiai rendezést használnak.

Fontos

A blobindexcímkék használatával történő adatkeresést a Storage Blob-adattulajdonos és bárki végezheti el, aki rendelkezik olyan közös hozzáférésű jogosultsággal, amely engedéllyel rendelkezik a blobok címkék szerinti megkereséséhez (SAS-engedély f ).

Emellett az engedéllyel rendelkező RBAC-felhasználók is végrehajthatják ezt a Microsoft.Storage/storageAccounts/blobServices/containers/blobs/filter/action műveletet.

A blobindexek szűrésére a következő feltételek vonatkoznak:

  • A címkekulcsokat idézőjelek közé kell tenni (")

  • A címkeértékeket és a tárolóneveket egyetlen idézőjelbe kell tenni (')

  • A @karakter csak adott tárolónévre (például ) való szűrésre engedélyezett. @container = 'ContainerName'

  • A szűrők a sztringek lexikográfiai rendezésével vannak alkalmazva

  • Ugyanazon a kulcson ugyanazon az oldalon lévő tartományműveletek érvénytelenek (például "Rank" > '10' AND "Rank" >= '15')

  • Ha REST használatával hoz létre szűrőkifejezést, a karaktereket URI-kóddal kell kódolni

  • A címke lekérdezései egyetlen címkével (pl. StoreID = "100") vannak optimalizálva az egyenlőségi egyezésre. Az =, <= <címkét használó >>lekérdezések tartományba vétele szintén hatékony. Az AND több címkét használó lekérdezések nem lesznek olyan hatékonyak. Például a "01" költség > ÉS a költség <= "100" hatékony. A "01 AND StoreID = "2" költség > nem olyan hatékony.

Az alábbi táblázat a következőhöz tartozó összes érvényes operátort Find Blobs by Tagstartalmazza:

Operator Leírás Példa
= Equal "Status" = 'In Progress'
> Nagyobb mint "Date" > '2018-06-18'
>= Nagyobb vagy egyenlő "Priority" >= '5'
< Kisebb mint "Age" < '32'
<= Kisebb vagy egyenlő "Priority" <= '5'
ÉS Logikai és "Rank" >= '010' AND "Rank" < '100'
@container Hatókör egy adott tárolóra @container = 'videofiles' AND "status" = 'done'

Megjegyzés:

Ismerje meg a lexikográfiai sorrendet a címkék beállításakor és lekérdezésekor.

  • A számok a betűk előtt vannak rendezve. A számok az első számjegy alapján vannak rendezve.
  • A nagybetűk kisbetűk előtt vannak rendezve.
  • A szimbólumok nem szabványosak. Egyes szimbólumok numerikus értékek előtt vannak rendezve. Más szimbólumok betűk előtt vagy után vannak rendezve.

Feltételes blobműveletek blobindexcímkékkel

A REST 2019-10-10-s és újabb verzióiban a legtöbb blobszolgáltatás API támogatja a feltételes fejlécet, x-ms-if-tagsígy a művelet csak a megadott blobindex-feltétel teljesülése esetén lesz sikeres. Ha a feltétel nem teljesül, a következőt fogja kapni error 412: The condition specified using HTTP conditional header(s) is not met: .

A x-ms-if-tags fejléc kombinálható a többi meglévő HTTP-feltételes fejlécmel (If-Match, If-None-Match stb.). Ha egy kérelem több feltételes fejlécet is megad, mindegyiknek igaz értéket kell értékelnie ahhoz, hogy a művelet sikeres legyen. Az összes feltételes fejléc hatékonyan kombinálva van logikai ÉS-vel.

Az alábbi táblázatban a feltételes műveletek érvényes operátorai láthatók:

Operator Leírás Példa
= Equal "Status" = 'In Progress'
<> Nem egyenlő "Status" <> 'Done'
> Nagyobb mint "Date" > '2018-06-18'
>= Nagyobb vagy egyenlő "Priority" >= '5'
< Kisebb mint "Age" < '32'
<= Kisebb vagy egyenlő "Priority" <= '5'
ÉS Logikai és "Rank" >= '010' AND "Rank" < '100'
VAGY Logikai vagy "Status" = 'Done' OR "Priority" >= '05'

Megjegyzés:

A blobműveletek feltételes x-ms-if-tags fejlécében két további, nem egyenlő és logikai operátor van engedélyezve, de nem léteznek a Find Blobs by Tags műveletben.

Platformintegrációk blobindex-címkékkel

A blobindexcímkék nemcsak a blobadatok kategorizálásában, kezelésében és keresésében segítenek, hanem más Blob Storage-funkciókkal, például az életciklus-kezeléssel is integrálást biztosítanak.

Életciklus-kezelés

blobIndexMatch A szabályszűrő használatával az életciklus-felügyeletben az adatokat áthelyezheti a hűvösebb szintekre, vagy törölheti az adatokat a blobokra alkalmazott indexcímkék alapján. Részletesebb lehet a szabályokban, és csak akkor helyezhet át vagy törölhet blobokat, ha azok megfelelnek a megadott címkék feltételeinek.

A blobindexegyezéseket különálló szűrőkészletként állíthatja be az életciklusszabályokban, ha műveleteket szeretne alkalmazni a címkézett adatokra. Kombinálhat egy előtagot és egy blobindexet is, hogy pontosabb adathalmazokkal kapjon egyezéseket. Ha több szűrőt ad meg egy életciklusszabályban, az logikai AND műveletet alkalmaz. A művelet csak akkor érvényes, ha az összes szűrőfeltétel megegyezik.

Az alábbi minta életciklus-felügyeleti szabály a blokkblobokra vonatkozik egy úgynevezett videofilestárolóban. A szabály csak akkor rétegzi a blobokat a tároló archiválására, ha az adatok megfelelnek a blobindex címkéjének feltételeinek "Status" == 'Processed' AND "Source" == 'RAW'.

Blob index match rule example for Lifecycle management in Azure portal

Engedélyek és engedélyezés

A blobindex-címkékhez való hozzáférést az alábbi módszerek egyikével engedélyezheti:

A blobindex-címkék a blobadatok alforrásai. Előfordulhat, hogy a blobok olvasásához vagy írásához engedéllyel vagy SAS-jogkivonattal rendelkező felhasználó nem fér hozzá a blobindex címkéihez.

Szerepköralapú hozzáférés-vezérlés

A Microsoft Entra-identitást használó hívók a következő engedélyekkel működhetnek blobindex-címkéken.

Blobindex-címkeműveletek Azure RBAC-művelet
Blobcímkék beállítása Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags/write
Blobcímkék lekérése Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags/read
Blobok keresése címkék szerint Microsoft.Storage/storageAccounts/blobServices/containers/blobs/filter/action

A mögöttes blobadatoktól eltérő további engedélyekre van szükség az indexcímke-műveletekhez. A Storage Blob Data Owner szerepkör mind a három blobindexcímke-művelethez kap engedélyeket.

SAS-engedélyek

A közös hozzáférésű jogosultságkódot (SAS) használó hívók hatókörrel rendelkező engedélyeket kaphatnak a blobindex-címkéken való működéshez.

Service SAS blobhoz

A blob indexcímkéihez való hozzáférés engedélyezéséhez a következő engedélyek adhatóak meg a szolgáltatás SAS-jében. A blob olvasási (r) és írási (w) engedélyei önmagukban nem elegendőek az indexcímkék olvasásához vagy írásához.

Permission URI-szimbólum Engedélyezett műveletek
Indexcímkék t Indexcímkék lekérése és beállítása blobhoz

Service SAS tárolóhoz

A következő engedélyek adhatóak meg egy tárolóhoz tartozó szolgáltatás SAS-ben a blobcímkék szűrésének engedélyezéséhez. A bloblista (i) engedélye nem elegendő ahhoz, hogy lehetővé tegye a blobok szűrését az indexcímkéik alapján.

Permission URI-szimbólum Engedélyezett műveletek
Indexcímkék f Indexcímkéket tartalmazó blobok keresése

Fiók SAS-fiókja

A fiók SAS-jében a következő engedélyek adhatóak a blobindexcímkékhez való hozzáférés engedélyezéséhez és a blobcímkék szűréséhez.

Permission URI-szimbólum Engedélyezett műveletek
Indexcímkék t Indexcímkék lekérése és beállítása blobhoz
Indexcímkék f Indexcímkéket tartalmazó blobok keresése

A blob olvasási (r) és írási (w) engedélyei önmagukban nem elegendőek az indexcímkék olvasásához vagy írásához, és a lista (i) engedély nem elegendő ahhoz, hogy a blobokat az indexcímkéik alapján szűrjék.

Választás a metaadatok és a blobindexcímkék között

A blobindexcímkék és a metaadatok egyaránt lehetővé teszik, hogy a bloberőforrás mellett tetszőleges, felhasználó által definiált kulcs-érték tulajdonságokat is tároljanak. Mindkettő lekérhető és beállítható közvetlenül, a blob tartalmának visszaadása vagy módosítása nélkül. Metaadat- és indexcímkéket is használhat.

A natív Blob Storage szolgáltatás csak az indexcímkéket indexeli és kereshetővé teszi. A metaadatok natív indexelése és keresése nem végezhető el. Külön szolgáltatást kell használnia, például az Azure Search szolgáltatást. A blobindex-címkék további engedélyekkel rendelkeznek a mögöttes blobadatoktól eltérő olvasási, szűrési és írási engedélyekhez. A metaadatok ugyanazokat az engedélyeket használják, mint a blob, és a Blob lekérése és a Blob tulajdonságainak lekérése művelet HTTP-fejlécként adja vissza. A blobindex-címkék inaktív állapotban vannak titkosítva egy Microsoft által felügyelt kulccsal. A metaadatok inaktív állapotban vannak titkosítva a blobadatokhoz megadott titkosítási kulccsal.

Az alábbi táblázat a metaadatok és a blobindexcímkék közötti különbségeket foglalja össze:

Metaadatok Blobindex-címkék
Limits Nincs numerikus korlát, 8 KB összesen, kis- és nagybetűk érzéketlenek Blobonként legfeljebb 10 címke, címkénként 768 bájt, kis- és nagybetűk megkülönböztetése
Frissítések Nem engedélyezett az archív szinten, Set Blob Metadata lecseréli az összes meglévő metaadatot, Set Blob Metadata módosítja a blob utolsó módosítási idejét Az összes hozzáférési szint esetében engedélyezett, Set Blob Tags az összes meglévő címkét lecseréli, Set Blob Tags és nem módosítja a blob utolsó módosítási időpontját
Storage A blobadatokkal együtt tárolva A blobadatok alforrása
Indexelés és lekérdezés Külön szolgáltatást kell használnia, például az Azure Search-t A Blob Storage beépített indexelési és lekérdezési képességei
Titkosítás Inaktív állapotban titkosítva ugyanazzal a titkosítási kulccsal, amelyet blobadatokhoz használnak Inaktív állapotban, Microsoft által felügyelt titkosítási kulccsal titkosítva
Pricing A metaadatok mérete szerepel a blob tárolási költségei között Indexcímkére jutó rögzített költség
Fejléc válasza Fejlécként visszaadott metaadatok és Get BlobGet Blob Properties A visszaadott Get Blob címkék száma vagy Get Blob Propertiesa csak Get Blob Tags a List Blobs
Permissions A blobadatok olvasási és írási engedélyei metaadatokra terjednek ki További engedélyekre van szükség az indexcímkék olvasásához, szűréséhez vagy írásához
Elnevezés A metaadatok nevének meg kell felelnie a C#-azonosítók elnevezési szabályainak A blobindex-címkék az alfanumerikus karakterek szélesebb tartományát támogatják

Pricing

A tárfiókon belül az indexcímkék havi átlagos számáért kell fizetnie. Az indexelő motornak nincs költsége. A blobcímkék beállítására, a blobcímkék lekérésére és a blobcímkék keresésére vonatkozó kérelmekért a rendszer az aktuális tranzakciós díjakat számítja fel. Vegye figyelembe, hogy a Blobok keresése címkével tranzakció során felhasznált listatranzakciók száma megegyezik a kérelem záradékainak számával. A lekérdezés (StoreID = 100) például egy listatranzakció. A lekérdezés (StoreID = 100 ÉS termékváltozat = 10010) két listatranzakció. További információt a Blob-díjszabás blokkolása című témakörben talál.

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.

Feltételek és ismert problémák

Ez a szakasz ismert problémákat és feltételeket ismertet.

  • Csak az általános célú v2-fiókok és a prémium szintű blokkblobfiókok támogatottak. A prémium szintű lapblobok, az örökölt blobok és a hierarchikus névtérrel rendelkező fiókok nem támogatottak. Az általános célú v1-fiókok nem támogatottak.

  • Az indexcímkéket tartalmazó lapblobok feltöltése nem megőrzi a címkéket. Adja meg a címkéket egy lapblob feltöltése után.

  • Ha a Blob Storage verziószámozása engedélyezve van, akkor is használhat indexcímkéket az aktuális verzióban. Az indexcímkék megmaradnak a korábbi verziókhoz, de ezek a címkék nem lesznek átadva a blobindexmotornak, így nem használhatja őket az előző verziók lekérésére. Ha előléptet egy korábbi verziót az aktuális verzióra, akkor az előző verzió címkéi lesznek az aktuális verzió címkéi. Mivel ezek a címkék az aktuális verzióhoz vannak társítva, a rendszer átadja őket a blobindexmotornak, és lekérdezheti őket.

  • Nincs API annak megállapítására, hogy indexelt-e az indexcímkék.

  • Az életciklus-felügyelet csak a blobindexegyezéssel rendelkező egyenlőség-ellenőrzéseket támogatja.

  • Copy Blob nem másolja a blobindex-címkéket a forrásblobból az új célblobba. A másolási művelet során megadhatja a célblobra alkalmazni kívánt címkéket.

Frequently asked questions (FAQ)

Lásd a blobindex címkéivel kapcsolatos gyakori kérdéseket.

További lépések

Példa a blobindex használatára: Blobindex használata adatok kezeléséhez és kereséséhez.

Ismerje meg az életciklus-kezelést , és állítson be egy szabályt blobindex-egyeztetéssel.