JavaScript ile blob özelliklerini ve meta verilerini yönetme
Bloblar, içerdikleri verilere ek olarak sistem özelliklerini ve kullanıcı tanımlı meta verileri destekler. Bu makalede, JavaScript için Azure Depolama istemci kitaplığı ile sistem özelliklerinin ve kullanıcı tanımlı meta verilerin nasıl yönetileceğini gösterilmektedir.
Önkoşullar
- Bu makaledeki örneklerde JavaScript için Azure Blob Depolama istemci kitaplığıyla çalışmak üzere ayarlanmış bir projeniz olduğu varsayılır. Paket yükleme, modülleri içeri aktarma ve veri kaynaklarıyla çalışmak üzere yetkili bir istemci nesnesi oluşturma gibi projenizi ayarlama hakkında bilgi edinmek için bkz. Azure Blob Depolama ve JavaScript'i kullanmaya başlama.
- Yetkilendirme mekanizmasının blob özellikleri veya meta verilerle çalışma izinleri olmalıdır. Daha fazla bilgi edinmek için aşağıdaki REST API işlemleri için yetkilendirme kılavuzuna bakın:
Özellikler ve meta veriler hakkında
Sistem özellikleri: Her Blob depolama kaynağında sistem özellikleri vardır. Bazıları okunabilir veya ayarlanabilirken, bazıları salt okunurdur. Bazı sistem özellikleri, kapakların altında belirli standart HTTP üst bilgilerine karşılık gelir. JavaScript için Azure Depolama istemci kitaplığı bu özellikleri sizin için korur.
Kullanıcı tanımlı meta veriler: Kullanıcı tanımlı meta veriler, Blob depolama kaynağı için belirttiğiniz bir veya daha fazla ad-değer çiftini içerir. Kaynakla birlikte ek değerleri depolamak için meta verileri kullanabilirsiniz. Meta veri değerleri yalnızca sizin amaçlarınıza yöneliktir ve kaynağın davranışını etkilemez.
Meta veri adı/değer çiftleri geçerli HTTP üst bilgileridir ve HTTP üst bilgilerini yöneten tüm kısıtlamalara uymalıdır. Meta veri adlandırma gereksinimleri hakkında daha fazla bilgi için bkz . Meta veri adları.
Not
Blob dizin etiketleri, Azure Blob depolama kaynağıyla birlikte rastgele kullanıcı tanımlı anahtar/değer özniteliklerini depolama olanağı da sağlar. Meta veriye benzer olsa da, yalnızca blob dizin etiketleri otomatik olarak dizinlenir ve yerel blob hizmeti tarafından aranabilir hale gelir. Azure Search gibi ayrı bir hizmet kullanmadığınız sürece meta veriler dizine alınamaz ve sorgulanamaz.
Bu özellik hakkında daha fazla bilgi edinmek için bkz . Blob dizini (önizleme) ile Azure Blob depolamada verileri yönetme ve bulma.
Özellikleri ayarlama ve alma
Blobda özellikleri ayarlamak için aşağıdaki yöntemi kullanın:
Aşağıdaki kod örneği bir blob üzerindeki blobContentType
ve blobContentLanguage
sistem özelliklerini ayarlar.
Açıkça ayarlanmayan tüm özellikler temizlenir. Aşağıdaki kod örneği önce blob üzerindeki mevcut özellikleri alır, ardından güncelleştirilmeyen üst bilgileri doldurmak için bunları kullanır.
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);
}
Blob üzerindeki özellikleri almak için aşağıdaki yöntemi kullanın:
Aşağıdaki kod örneği blobun sistem özelliklerini alır ve değerlerden bazılarını görüntüler:
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}`);
}
Meta verileri ayarlama ve alma
Meta verileri bir blob veya kapsayıcı kaynağında bir veya daha fazla ad-değer çifti olarak belirtebilirsiniz. Meta verileri ayarlamak için aşağıdaki yöntemi kullanarak ad-değer çiftleri içeren bir Meta Veri nesnesi gönderin:
Aşağıdaki kod örneği blob üzerindeki meta verileri ayarlar:
async function setBlobMetadata(blobClient, metadata) {
metadata = {
docType: 'text',
category: 'reference'
};
await blobClient.setMetadata(metadata);
}
Meta verileri almak için blobunuzda getProperties yöntemini çağırarak meta veri koleksiyonunu doldurun ve meta veri özelliğindeki değerleri okuyun. yöntemi hem getProperties
işlemi hem de Get Blob Properties
işlemi çağırarak blob özelliklerini ve Get Blob Metadata
meta verilerini alır.
Kaynaklar
JavaScript için Azure Blob Depolama istemci kitaplığını kullanarak sistem özelliklerini ve kullanıcı tanımlı meta verileri yönetme hakkında daha fazla bilgi edinmek için aşağıdaki kaynaklara bakın.
Kod örnekleri
- Bu makaledeki JavaScript ve TypeScript kod örneklerini görüntüleyin (GitHub)
REST API işlemleri
JavaScript için Azure SDK, Azure REST API'sinin üzerinde derlenmiş kitaplıklar içerir ve tanıdık JavaScript paradigmalarıyla REST API işlemleriyle etkileşim kurmanızı sağlar. Sistem özelliklerini ve kullanıcı tanımlı meta verileri yönetmek için istemci kitaplığı yöntemleri aşağıdaki REST API işlemlerini kullanır:
- Blob Özelliklerini Ayarlama (REST API)
- Blob Özelliklerini Alma (REST API)
- Blob Meta Verilerini Ayarlama (REST API)
- Blob Meta Verilerini Alma (REST API)
İstemci kitaplığı kaynakları
İlgili içerik
- Bu makale, JavaScript/TypeScript için Blob Depolama geliştirici kılavuzunun bir parçasıdır. Daha fazla bilgi edinmek için JavaScript/TypeScript uygulamanızı derleme makalelerinde geliştirici kılavuzu makalelerinin tam listesine bakın.