Dela via


Hantera blobegenskaper och metadata med JavaScript

Förutom de data som de innehåller stöder blobar systemegenskaper och användardefinierade metadata. Den här artikeln visar hur du hanterar systemegenskaper och användardefinierade metadata med Azure Storage-klientbiblioteket för JavaScript.

Förutsättningar

  • Exemplen i den här artikeln förutsätter att du redan har ett projekt konfigurerat för att fungera med Azure Blob Storage-klientbiblioteket för JavaScript. Mer information om hur du konfigurerar projektet, inklusive paketinstallation, import av moduler och skapande av ett auktoriserat klientobjekt för att arbeta med dataresurser finns i Kom igång med Azure Blob Storage och JavaScript.
  • Auktoriseringsmekanismen måste ha behörighet att arbeta med blobegenskaper eller metadata. Mer information finns i auktoriseringsvägledningen för följande REST API-åtgärder:

Om egenskaper och metadata

  • Systemegenskaper: Systemegenskaper finns på varje Blob Storage-resurs. Vissa av dem kan läsas eller ställas in, medan andra är skrivskyddade. Under täcket motsvarar vissa systemegenskaper vissa standard-HTTP-huvuden. Azure Storage-klientbiblioteket för JavaScript underhåller dessa egenskaper åt dig.

  • Användardefinierade metadata: Användardefinierade metadata består av ett eller flera namn/värde-par som du anger för en Blob Storage-resurs. Du kan använda metadata för att lagra ytterligare värden med resursen. Metadatavärden är endast för dina egna syften och påverkar inte hur resursen beter sig.

    Metadatanamn/värdepar är giltiga HTTP-huvuden och bör följa alla begränsningar som styr HTTP-huvuden. Mer information om namngivningskrav för metadata finns i Metadatanamn.

Kommentar

Blobindextaggar ger också möjlighet att lagra godtyckliga användardefinierade nyckel-/värdeattribut tillsammans med en Azure Blob Storage-resurs. Även om det liknar metadata indexeras endast blobindextaggar automatiskt och görs sökbara av den interna blobtjänsten. Metadata kan inte indexeras och frågas om du inte använder en separat tjänst, till exempel Azure Search.

Mer information om den här funktionen finns i Hantera och hitta data på Azure Blob Storage med blobindex (förhandsversion).

Ange och hämta egenskaper

Om du vill ange egenskaper för en blob använder du följande metod:

I följande kodexempel anges systemegenskaperna blobContentType och blobContentLanguage på en blob.

Alla egenskaper som inte uttryckligen anges rensas. Följande kodexempel hämtar först de befintliga egenskaperna på blobben och använder dem sedan för att fylla i rubrikerna som inte uppdateras.

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);
}

Om du vill hämta egenskaper på en blob använder du följande metod:

I följande kodexempel hämtas en blobs systemegenskaper och några av värdena visas:

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}`);
}

Ange och hämta metadata

Du kan ange metadata som ett eller flera namn/värde-par på en blob- eller containerresurs. Om du vill ange metadata skickar du ett metadataobjekt som innehåller namn/värde-par med hjälp av följande metod:

I följande kodexempel anges metadata på en blob:

async function setBlobMetadata(blobClient, metadata) {
  
  metadata = {
    docType: 'text',
    category: 'reference'
  };

  await blobClient.setMetadata(metadata);
}

Om du vill hämta metadata anropar du metoden getProperties på din blob för att fylla i metadatasamlingen och läser sedan värdena från metadataegenskapen. Metoden getProperties hämtar blobegenskaper och metadata genom att anropa både Get Blob Properties åtgärden och åtgärden Get Blob Metadata .

Resurser

Mer information om hur du hanterar systemegenskaper och användardefinierade metadata med hjälp av Azure Blob Storage-klientbiblioteket för JavaScript finns i följande resurser.

Kodexempel

REST API-åtgärder

Azure SDK för JavaScript innehåller bibliotek som bygger på Azure REST API, så att du kan interagera med REST API-åtgärder via välbekanta JavaScript-paradigm. Klientbiblioteksmetoderna för att hantera systemegenskaper och användardefinierade metadata använder följande REST API-åtgärder:

Klientbiblioteksresurser

  • Den här artikeln är en del av utvecklarguiden för Blob Storage för JavaScript/Typescript. Mer information finns i den fullständiga listan över utvecklarguideartiklar i Skapa din JavaScript/Typescript-app.