إدارة خصائص الكائن الثنائي كبير الحجم وبيانات التعريف باستخدام JavaScript

بالإضافة إلى البيانات التي تحتوي عليها، تدعم الكائنات ثنائية الحجم خصائص النظام وبيانات التعريف المعرفة من قبل المستخدم. توضح هذه المقالة كيفية إدارة خصائص النظام وبيانات التعريف المعرفة من قبل المستخدم باستخدام مكتبة عميل تخزين Azure لـ JavaScript.

المتطلبات الأساسية

نبذة عن الخصائص وبيانات التعريف

  • خصائص النظام: توجد خصائص النظام على كل مورد تخزين Blob. يمكن قراءة بعضها أو تعيينها، بينما البعض الآخر للقراءة فقط. تحت الأغلفة، تتوافق بعض خصائص النظام مع بعض عناوين HTTP القياسية المعينة. تحتفظ مكتبة عميل تخزين Azure Storage لـ JavaScript بهذه الخصائص لك.

  • بيانات التعريف المحددة مسبقًا من المستخدم: تتكون بيانات التعريف المحددة مسبقًا من المستخدم من زوج واحد أو أكثر من أزواج قيمة الاسم التي تحددها لمورد تخزين Blob. يمكنك استخدام بيانات التعريف لتخزين قيم إضافية مع المورد. قيم بيانات التعريف هي لأغراضك فقط، ولا تؤثر على كيفية تصرف المورد.

    أزواج اسم/قيمة بيانات التعريف هي رؤوس HTTP صالحة ويجب أن تلتزم بجميع القيود التي تحكم رؤوس HTTP. لمزيد من المعلومات حول متطلبات تسمية بيانات التعريف، راجع أسماء بيانات التعريف.

إشعار

أيضاً توفر علامات فهرسة الكائنات الثنائية كبيرة الحجم القدرة على تخزين سمات المفاتيح/القيم المُعرّفة من قِبل المستخدم جنباً إلى جنب مع مورد مساحة تخزين Azure Blob. بينما تتشابه علامات فهرسة الكائنات الثنائية كبيرة الحجم مع بيانات التعريف، فهي تختلف في أنه تتم فهرستها تلقائياً وتصبح قابلة للبحث بواسطة الخدمة الأصلية للكائنات الثنائية كبيرة الحجم. لا يمكن فهرسة بيانات التعريف والاستعلام عنها إلا إذا كنت تستخدم خدمة منفصلة، مثل Azure Search.

للتعرّف على المزيد حول هذه الميزة، راجع إدارة البيانات والعثور عليها على مساحة تخزين Azure Blob باستخدام فهرس كائنات ثنائية كبيرة الحجم (معاينة).

تعيين عناوين http للكائنات الثنائية كبيرة الحجم

في مثال التعليمة البرمجية التالي، يتم تعيين خصائص نظام HTTP لكائن ثنائي كبير الحجم على كائن ثنائي كبير الحجم.

لتعيين خصائص HTTP لكائن ثنائي كبير الحجم، قم بإنشاء BlobClient ثم استدعاء BlobClient.setHTTPHeaders. راجع خصائص BlobHTTPHeaders لمعرفة خصائص HTTP التي تريد تعيينها. يتم مسح أية خصائص HTTP لم يتم تعيينها بشكل صريح.

/*
properties= {
      blobContentType: 'text/plain',
      blobContentLanguage: 'en-us',
      blobContentEncoding: 'utf-8',
      // all other http properties are cleared
    }
*/
async function setHTTPHeaders(blobClient, headers) {

  await blobClient.setHTTPHeaders(headers);

  console.log(`headers set successfully`);
}

تعيين بيانات التعريف

يمكنك تحديد بيانات التعريف كزوج واحد أو أكثر من أزواج قيمة الاسم على مورد النقطة أو الحاوية. لتعيين بيانات التعريف، قم بإنشاء BlobClient ثم أرسل كائن JSON من أزواج قيمة الاسم مع

في مثال التعليمة البرمجية التالي، يتم تعيين بيانات التعريف لكائن ثنائي كبير الحجم.

/*
metadata= {
    reviewedBy: 'Bob',
    releasedBy: 'Jill',
}
*/
async function setBlobMetadata(blobClient, metadata) {

  await blobClient.setMetadata(metadata);

  console.log(`metadata set successfully`);

}

لقراءة بيانات التعريف، احصل على خصائص الكائن الثنائي كبير الحجم (الموضحة أدناه)، مع الرجوع تحديداً إلى الخاصية metadata.

الحصول على خصائص الكائن الثنائي كبير الحجم

في مثال التعليمة البرمجية التالي، يتم الحصول على خصائص النظام لكائن ثنائي كبير الحجم، بما يشمل عناوين HTTP وبيانات التعريف، كما تُعرض هذه القيم.

async function getProperties(blobClient) {

  const properties = await blobClient.getProperties();
  console.log(blobClient.name + ' properties: ');

  for (const property in properties) {

    switch (property) {
      // nested properties are stringified and returned as strings
      case 'metadata':
      case 'objectReplicationRules':
        console.log(`    ${property}: ${JSON.stringify(properties[property])}`);
        break;
      default:
        console.log(`    ${property}: ${properties[property]}`);
        break;
    }
  }
}

يبدو إخراج خطوط console.log هذه كما يلي:

my-blob.txt properties:
    lastModified: Thu Apr 21 2022 13:02:53 GMT-0700 (Pacific Daylight Time)
    createdOn: Thu Apr 21 2022 13:02:53 GMT-0700 (Pacific Daylight Time)
    metadata: {"releasedby":"Jill","reviewedby":"Bob"}
    objectReplicationPolicyId: undefined
    objectReplicationRules: {}
    blobType: BlockBlob
    copyCompletedOn: undefined
    copyStatusDescription: undefined
    copyId: undefined
    copyProgress: undefined
    copySource: undefined
    copyStatus: undefined
    isIncrementalCopy: undefined
    destinationSnapshot: undefined
    leaseDuration: undefined
    leaseState: available
    leaseStatus: unlocked
    contentLength: 19
    contentType: text/plain
    etag: "0x8DA23D1EBA8E607"
    contentMD5: undefined
    contentEncoding: utf-8
    contentDisposition: undefined
    contentLanguage: en-us
    cacheControl: undefined
    blobSequenceNumber: undefined
    clientRequestId: 58da0441-7224-4837-9b4a-547f9a0c7143
    requestId: 26acb38a-001e-0046-27ba-55ef22000000
    version: 2021-04-10
    date: Thu Apr 21 2022 13:02:52 GMT-0700 (Pacific Daylight Time)
    acceptRanges: bytes
    blobCommittedBlockCount: undefined
    isServerEncrypted: true
    encryptionKeySha256: undefined
    encryptionScope: undefined
    accessTier: Hot
    accessTierInferred: true
    archiveStatus: undefined
    accessTierChangedOn: undefined
    versionId: undefined
    isCurrentVersion: undefined
    tagCount: undefined
    expiresOn: undefined
    isSealed: undefined
    rehydratePriority: undefined
    lastAccessed: undefined
    immutabilityPolicyExpiresOn: undefined
    immutabilityPolicyMode: undefined
    legalHold: undefined
    errorCode: undefined
    body: true
    _response: [object Object]
    objectReplicationDestinationPolicyId: undefined
    objectReplicationSourceProperties:

الموارد

لمعرفة المزيد حول كيفية إدارة خصائص النظام وبيانات التعريف المعرفة من قبل المستخدم باستخدام مكتبة عميل Azure Blob Storage ل JavaScript، راجع الموارد التالية.

عمليات واجهة برمجة تطبيقات REST

يحتوي Azure SDK ل JavaScript على مكتبات تستند إلى واجهة برمجة تطبيقات AZURE REST، ما يسمح لك بالتفاعل مع عمليات REST API من خلال نماذج JavaScript المألوفة. تستخدم أساليب مكتبة العميل لإدارة خصائص النظام وبيانات التعريف المعرفة من قبل المستخدم عمليات REST API التالية:

نماذج التعليمات البرمجية

موارد مكتبة العميل