Tárolótulajdonságok és metaadatok kezelése TypeScript használatával
A blobtárolók támogatják a rendszertulajdonságokat és a felhasználó által definiált metaadatokat az általuk tárolt adatok mellett. Ez a cikk bemutatja, hogyan kezelheti a rendszertulajdonságokat és a felhasználó által definiált metaadatokat a JavaScripthez készült Azure Storage-ügyfélkódtárral.
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 engedéllyel kell rendelkeznie a tároló tulajdonságainak vagy metaadatainak használatához. További információkért tekintse meg az alábbi REST API-műveletek engedélyezési útmutatóját:
Tudnivalók a tulajdonságokról és a metaadatokról
Rendszertulajdonságok: A rendszertulajdonságok minden Blob Storage-erőforráson léteznek. Ezek némelyike olvasható vagy beállítható, míg mások írásvédettek. A borítók alatt egyes rendszertulajdonságok megfelelnek bizonyos szabványos HTTP-fejléceknek. A JavaScripthez készült Azure Storage-ügyfélkódtár fenntartja ezeket a tulajdonságokat.
Felhasználó által definiált metaadatok: A felhasználó által definiált metaadatok egy vagy több, Blob Storage-erőforráshoz megadott név-érték párból állnak. Metaadatok használatával további értékeket tárolhat az erőforrással. A metaadat-értékek csak saját célra szolgálnak, és nem befolyásolják az erőforrás viselkedését.
A metaadat-név/érték párok érvényes HTTP-fejlécek, és be kell tartaniuk a HTTP-fejlécekre vonatkozó összes korlátozást. A metaadatok elnevezési követelményeiről további információt a Metaadatnevek című témakörben talál.
Tárolótulajdonságok lekérése
Tárolótulajdonságok lekéréséhez hozzon létre egy ContainerClient objektumot, majd használja a következő módszert:
- ContainerClient.getProperties (a ContainerProperties értékét adja vissza)
Az alábbi példakód beolvassa egy tároló tulajdonságait, és a tulajdonságértékeket egy konzolablakba írja:
async function getContainerProperties(
containerClient: ContainerClient
): Promise<void> {
const properties: ContainerGetPropertiesResponse =
await containerClient.getProperties();
if (properties.errorCode) throw Error(properties.errorCode);
console.log(containerClient.containerName + ' properties: ');
for (const property in properties) {
switch (property) {
// nested properties are stringified
case 'metadata':
//case 'objectReplicationRules':
console.log(` ${property}: ${JSON.stringify(properties[property])}`);
break;
default:
console.log(` ${property}: ${properties[property]}`);
break;
}
}
}
/* Example output:
{
"metadata": {
"lastfilereview": "3/20/2023",
"reviewer": "johnh"
},
"etag": "\"0x8DB295348CDCD54\"",
"lastModified": "2023-03-20T14:56:28.000Z",
"leaseState": "available",
"leaseStatus": "unlocked",
"clientRequestId": "0bc8c31a-c607-477e-9846-f2121b10297a",
"requestId": "1e4ee737-b01e-0042-4e3c-5b2207000000",
"version": "2021-12-02",
"date": "2023-03-20T14:56:28.000Z",
"blobPublicAccess": "container",
"hasImmutabilityPolicy": false,
"hasLegalHold": false,
"defaultEncryptionScope": "$account-encryption-key",
"denyEncryptionScopeOverride": false,
"isImmutableStorageWithVersioningEnabled": false
}
*/
Metaadatok beállítása és lekérése
A metaadatokat egy vagy több név-érték pár tárolóerőforrásként is megadhatja. Metaadatok beállításához hozzon létre egy ContainerClient objektumot, majd használja a következő módszert:
- ContainerClient.setMetadata
Az alábbi példakód egy tároló metaadatait állítja be.
/*
const metadata = {
// values must be strings
lastFileReview: currentDate.toString(),
reviewer: `johnh`
}
*/
async function setContainerMetadata(
containerClient: ContainerClient,
metadata: Metadata
) {
await containerClient.setMetadata(metadata);
}
A metaadatok lekéréséhez kérje le a tároló tulajdonságait, majd használja a visszaadott metaadat-tulajdonságot.
Források
A tárolótulajdonságok és metaadatok JavaScripthez készült Azure Blob Storage-ügyfélkódtár használatával történő beállításával és lekérésével kapcsolatos további információkért 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 tulajdonságok és metaadatok beállítására és lekérésére szolgáló ügyfélkódtár-metódusok a következő REST API-műveleteket használják:
- Tároló tulajdonságainak lekérése (REST API)
- Tároló metaadatainak beállítása (REST API)
- Tároló metaadatainak lekérése (REST API)
A getProperties
metódus a tároló tulajdonságait és metaadatait a Blob tulajdonságainak lekérése művelet és a Blob metaadatok lekérése művelet meghívásával kéri le.