Blobindex-címkék használata adatok kezeléséhez és kereséséhez a TypeScript használatával
Ez a cikk bemutatja, hogyan kezelheti és kereshet adatokat blobindexcímkék használatával a JavaScripthez készült Azure Storage-ügyfélkódtár használatával.
Előfeltételek
- A cikkben szereplő példák feltételezik, hogy már rendelkezik egy projekttel, amely a JavaScripthez készült Azure Blob Storage ügyfélkódtárral dolgozik. Ha többet szeretne megtudni a projekt beállításáról, beleértve a csomagtelepítést, a modulok importálását és egy engedélyezett ügyfélobjektum létrehozását az adaterőforrások használatához, olvassa el az Azure Blob Storage és a TypeScript használatának első lépéseit.
- Az engedélyezési mechanizmusnak rendelkeznie kell a blobindexcímkék használatához szükséges engedélyekkel. További információkért tekintse meg az alábbi REST API-műveletek engedélyezési útmutatóját:
Tudnivalók a blobindexcímkékről
A blobindexcímkék kulcs-érték címkeattribútumok használatával kategorizálják a tárfiók adatait. Ezek a címkék automatikusan indexelhetők, és kereshető többdimenziós indexként jelennek meg az adatok egyszerű keresése érdekében. Ez a cikk bemutatja, hogyan állíthat be, kérhet le és kereshet meg adatokat blobindexcímkék használatával.
A blobindex-címkék nem támogatottak a hierarchikus névtérrel rendelkező tárfiókok esetében. Ha többet szeretne megtudni a blobindex-címke funkcióról, valamint az ismert problémákról és korlátozásokról, olvassa el az Azure Blob-adatok kezelése és keresése blobindexcímkékkel című témakört.
Címkék beállítása
Indexcímkéket akkor állíthat be, ha a kód jogosult a blobadatokhoz való hozzáférésre az alábbi mechanizmusok egyikén keresztül:
- A Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags/write művelettel rendelkező Azure RBAC-szerepkörhöz rendelt biztonsági tag. A Storage Blob Data Owner egy beépített szerepkör, amely tartalmazza ezt a műveletet.
- Közös hozzáférésű jogosultságkód (SAS) a blob címkéinek elérésére vonatkozó engedéllyel (
t
engedély) - Fiókkulcs
További információ: Blobindexcímkék beállítása.
Ha blobfeltöltéskor szeretne címkéket beállítani, hozzon létre egy BlobClientet , majd használja a következő módszert:
Az alábbi példa ezt a feladatot hajtja végre.
export async function setBlobTags(
blockBlobClient: BlockBlobClient,
tags: Tags
): Promise<void> {
// Set tags
const result = await blockBlobClient.setTags(tags);
if (result.errorCode) throw Error(result.errorCode);
console.log(`tags set for ${blockBlobClient.name}`);
}
Az összes címkét törölheti, ha egy üres JSON-objektumot ad át a setTags metódusnak.
Kapcsolódó cikkek |
---|
Azure Blob-adatok kezelése és keresése blobindexcímkék használatával |
Blobcímkék beállítása (REST API) |
Címkék lekérése
Indexcímkéket akkor kaphat, ha a kód jogosult a blobadatokhoz való hozzáférésre az alábbi mechanizmusok egyikén keresztül:
- A Microsoft.Storage/StorageAccounts/blobServices/containers/blobs/tags/read művelettel azure RBAC-szerepkörrel rendelkező biztonsági tag. A Storage Blob Data Owner egy beépített szerepkör, amely tartalmazza ezt a műveletet.
- Közös hozzáférésű jogosultságkód (SAS) a blob címkéinek elérésére vonatkozó engedéllyel (
t
engedély) - Fiókkulcs
További információ: Blobindex-címkék lekérése és listázása.
Címkék lekéréséhez hozzon létre egy BlobClientet , majd használja a következő módszert:
Az alábbi példa bemutatja, hogyan lehet lekérni és iterálni a blob címkéi között.
export async function getBlobTags(
blockBlobClient: BlockBlobClient
): Promise<Tags> {
const getTagsResponse: BlobGetTagsResponse = await blockBlobClient.getTags();
if (getTagsResponse.errorCode) throw Error(getTagsResponse.errorCode);
// Tags: Record<string, string>
const tags: Tags = getTagsResponse.tags;
console.log(`tags for ${blockBlobClient.name}`);
// Print out name/value pairs
Object.keys(tags).map((tag) => console.log(`${[tag]}: ${tags[tag]}`));
return tags;
}
Adatok szűrése és keresése blobindexcímkék használatával
Indexcímkék használatával kereshet és szűrhet adatokat, ha a kód jogosult a blobadatokhoz való hozzáférésre az alábbi mechanizmusok egyikén keresztül:
- A Microsoft.Storage/StorageAccounts/blobServices/containers/blobs/filter/action művelettel Azure RBAC-szerepkörrel rendelkező biztonsági tag. A Storage Blob Data Owner egy beépített szerepkör, amely tartalmazza ezt a műveletet.
- Megosztott hozzáférésű jogosultságkód (SAS) a blobok címkék szerinti szűrésére (
f
engedély) - Fiókkulcs
További információ: Adatok keresése blobindexcímkék használatával.
Feljegyzés
Nem használhat indexcímkéket a korábbi verziók lekéréséhez. A korábbi verziók címkéi nem lesznek átadva a blobindexmotornak. További információ: Feltételek és ismert problémák.
A rendszer lekérdezi az adatokat egy sztringként küldött JSON-objektummal. A tulajdonságoknak nem kell további sztring-idézőjelekkel rendelkezniük, de az értékekhez további sztring-idézőjelek szükségesek.
Az alábbi táblázat néhány lekérdezési sztringet mutat be:
Címkék lekérdezési sztringje (tagOdataQuery) | Leírás |
---|---|
id='1' AND project='billing' |
Blobok szűrése az összes tárolóban e két tulajdonság alapján |
owner='PhillyProject' AND createdOn >= '2021-12' AND createdOn <= '2022-06' |
A blobok szűrése az összes tárolóban a tulajdonság szigorú tulajdonságértéke owner és dátumtartománya createdOn alapján. |
@container = 'my-container' AND createdBy = 'Jill' |
Szűrés tároló és adott tulajdonság szerint. Ebben a lekérdezésben szöveges egyezés van, createdBy és nem jelez engedélyezési egyezést az Active Directoryn keresztül. |
Blobok kereséséhez hozzon létre egy BlobClientet , majd használja a következő módszert:
Az alábbi példa megkeresi a tagOdataQuery paraméternek megfelelő összes blobot.
async function findBlobsByQuery(
blobServiceClient: BlobServiceClient,
tagOdataQuery: string
): Promise<void> {
// page size
const maxPageSize = 10;
let i = 1;
const listOptions: ServiceFindBlobByTagsOptions = {};
let iterator = blobServiceClient
.findBlobsByTags(tagOdataQuery, listOptions)
.byPage({ maxPageSize });
let response = (await iterator.next()).value;
// Prints blob names
if (response.blobs) {
for (const blob of response.blobs) {
console.log(`Blob ${i++}: ${blob.name} - ${JSON.stringify(blob.tags)}`);
}
}
// Gets next marker
const marker = response.continuationToken;
// no more blobs
if (!marker) return;
// Passing next marker as continuationToken
iterator = blobServiceClient
.findBlobsByTags(tagOdataQuery, listOptions)
.byPage({ continuationToken: marker, maxPageSize });
response = (await iterator.next()).value;
// Prints blob names
if (response.blobs) {
for (const blob of response.blobs) {
console.log(`Blob ${i++}: ${blob.name} - ${JSON.stringify(blob.tags)}`);
}
}
}
A függvény példakimenete pedig a megfeleltetett blobokat és azok címkéit jeleníti meg az előző függvény console.log kódja alapján:
Válasz |
---|
Blob 1: set-tags-1650565920363-query-by-tag-blob-a-1.txt - {"createdOn":"2022-01","owner":"PhillyProject","project":"set-tags-1650565920363"} |
Források
Ha többet szeretne megtudni arról, hogyan kezelheti és kereshet adatokat az indexcímkék használatával a JavaScripthez készült Azure Blob Storage ügyfélkódtár használatával, tekintse meg az alábbi erőforrásokat.
REST API-műveletek
Az Azure SDK for JavaScript olyan kódtárakat tartalmaz, amelyek az Azure REST API-ra épülnek, lehetővé téve a REST API-műveletek használatát ismert JavaScript-paradigmákon keresztül. A blobindexcímkék kezelésére és használatára szolgáló ügyfélkódtár-metódusok a következő REST API-műveleteket használják:
- Blobcímkék lekérése (REST API)
- Blobcímkék beállítása (REST API)
- Blobok keresése címkék szerint (REST API)
Kódminták
Ügyfélkódtár erőforrásai
Lásd még
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: