Gestire le proprietà e i metadati dei BLOB con JavaScript
Oltre ai dati che contengono, i BLOB supportano le proprietà di sistema e i metadati definiti dall'utente. Questo articolo illustra come gestire le proprietà di sistema e i metadati definiti dall'utente con la libreria client di Archiviazione di Azure per JavaScript.
Prerequisiti
- Gli esempi in questo articolo presuppongono che sia già stato configurato un progetto per l'uso con la libreria client di Archiviazione BLOB di Azure per JavaScript. Per informazioni sulla configurazione del progetto, incluse l'installazione del pacchetto, l'importazione di moduli e la creazione di un oggetto client autorizzato per l'uso con le risorse dati, consultare Introduzione ad Archiviazione BLOB di Azure e JavaScript.
- Il meccanismo di autorizzazione deve disporre delle autorizzazioni necessarie per lavorare con le proprietà o i metadati del BLOB. Per altre informazioni, vedere le linee guida per l'autorizzazione per le operazioni API REST seguenti:
Informazioni su proprietà e metadati
Proprietà di sistema: le proprietà di sistema esistono in ogni risorsa di archiviazione BLOB. Alcune di esse possono essere lette o impostate, mentre altre sono di sola lettura. Anche se in modo non esplicito, alcune proprietà di sistema corrispondono a specifiche intestazioni HTTP standard. La libreria client di Archiviazione di Azure per JavaScript gestisce automaticamente queste proprietà.
Metadati definiti dall'utente: i metadati definiti dall'utente sono costituiti da una o più coppie nome-valore specificate per una risorsa di archiviazione BLOB. È possibile usare i metadati per archiviare valori aggiuntivi con la risorsa. I valori di metadati sono solo per le proprie esigenze e non influiscono sul comportamento della risorsa.
Le coppie nome/valore di metadati sono intestazioni HTTP valide e devono essere conformi alle restrizioni imposte sulle intestazioni HTTP. Per ulteriori informazioni sui requisiti di denominazione dei metadati, consultare Nomi dei metadati.
Nota
I tag indice BLOB offrono anche la possibilità di archiviare attributi chiave/valore arbitrari definiti dall'utente insieme a una risorsa di Archiviazione BLOB di Azure. Analogamente ai metadati, solo i tag indice BLOB vengono indicizzati automaticamente e resi ricercabili dal servizio BLOB nativo. I metadati non possono essere indicizzati e sottoposti a query a meno che non si usi un servizio diverso, ad esempio Ricerca cognitiva di Azure.
Per altre informazioni su questa funzionalità, vedere Gestire e trovare i dati nell'archiviazione BLOB di Azure con l'indice BLOB (anteprima).
Impostare e recuperare le proprietà
Per impostare le proprietà in un BLOB, usare il metodo seguente:
Nell'esempio di codice seguente vengono impostate le proprietà di sistema blobContentType
e blobContentLanguage
in un BLOB.
Tutte le proprietà non impostate in modo esplicito vengono cancellate. Nell'esempio di codice seguente, le proprietà esistenti nel BLOB vengono prima recuperate e quindi usate per popolare le intestazioni che non vengono aggiornate.
async function setHTTPHeaders(blobClient, headers) {
// Get existing properties
const properties = await blobClient.getProperties();
// Set the blobContentType and blobContentLanguage headers
// Populate the remaining headers from the existing properties
blobHeaders = {
blobContentType: 'text/plain',
blobContentLanguage: 'en-us',
blobContentEncoding: properties.contentEncoding,
blobCacheControl: properties.cacheControl,
blobContentDisposition: properties.contentDisposition,
blobContentMD5: properties.contentMD5
},
await blobClient.setHTTPHeaders(blobHeaders);
}
Per recuperare le proprietà in un BLOB, usare il metodo seguente:
L'esempio di codice seguente recupera le proprietà di sistema di un BLOB e visualizza alcuni dei valori:
async function getProperties(blobClient) {
const properties = await blobClient.getProperties();
console.log(`blobType: ${properties.blobType}`);
console.log(`contentType: ${properties.contentType}`);
console.log(`contentLength: ${properties.contentLength}`);
console.log(`lastModified: ${properties.lastModified}`);
}
Impostare e recuperare i metadati
È possibile specificare i metadati come uno o più coppie nome-valore in una risorsa BLOB o contenitore. Per impostare i metadati, inviare un oggetto Metadata contenente coppie nome-valore usando il metodo seguente:
Il seguente codice di esempio imposta i metadati in un BLOB:
async function setBlobMetadata(blobClient, metadata) {
metadata = {
docType: 'text',
category: 'reference'
};
await blobClient.setMetadata(metadata);
}
Per recuperare i metadati, chiamare il metodo getProperties nel BLOB per popolare la raccolta di metadati, quindi leggere i valori dalla proprietà dei metadati . Il getProperties
metodo recupera le proprietà e i metadati del BLOB chiamando sia l'operazione Get Blob Properties
che l'operazione Get Blob Metadata
.
Risorse
Per altre informazioni su come gestire le proprietà di sistema e i metadati definiti dall'utente usando la libreria client Archiviazione BLOB di Azure per JavaScript, vedere le risorse seguenti.
Esempi di codice
- Visualizzare esempi di codice JavaScript e TypeScript di questo articolo (GitHub)
Operazioni dell'API REST
Azure SDK per JavaScript contiene librerie basate sull'API REST di Azure che consentono di interagire con le operazioni dell'API REST tramite paradigmi noti di JavaScript. I metodi della libreria client per gestire le proprietà di sistema e i metadati definiti dall'utente usano le operazioni API REST seguenti:
- Set Blob Properties (API REST)
- Get Blob Properties (API REST)
- Set Blob Metadata (API REST)
- Get Blob Metadata (API REST)
Risorse della libreria client
- Documentazione di riferimento della libreria client
- Codice sorgente della libreria client
- Pacchetto (npm)
Contenuto correlato
- Questo articolo fa parte della guida per sviluppatori di Archiviazione BLOB per JavaScript/TypeScript. Per altre informazioni, vedere l'elenco completo degli articoli della guida per sviluppatori in Creare l'app JavaScript/TypeScript.