إدارة خصائص الكائن الثنائي كبير الحجم وبيانات التعريف باستخدام JavaScript
بالإضافة إلى البيانات التي تحتوي عليها، تدعم الكائنات ثنائية الحجم خصائص النظام وبيانات التعريف المعرفة من قبل المستخدم. توضح هذه المقالة كيفية إدارة خصائص النظام وبيانات التعريف المعرفة من قبل المستخدم باستخدام مكتبة عميل تخزين Azure لـ JavaScript.
المتطلبات الأساسية
- تفترض الأمثلة في هذه المقالة أن لديك بالفعل مشروعا تم إعداده للعمل مع مكتبة عميل Azure Blob Storage ل JavaScript. للتعرف على إعداد مشروعك، بما في ذلك تثبيت الحزمة، واستيراد الوحدات النمطية، وإنشاء كائن عميل معتمد للعمل مع موارد البيانات، راجع بدء استخدام Azure Blob Storage وJavaScript.
- يجب أن يكون لآلية التخويل أذونات للعمل مع خصائص الكائن الثنائي كبير الحجم أو بيانات التعريف. لمعرفة المزيد، راجع إرشادات التخويل لعمليات واجهة برمجة تطبيقات REST التالية:
نبذة عن الخصائص وبيانات التعريف
خصائص النظام: توجد خصائص النظام على كل مورد تخزين 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 التالية:
- تعيين خصائص Blob (REST API)
- الحصول على خصائص Blob (REST API)
- تعيين بيانات تعريف Blob (REST API)
- الحصول على بيانات تعريف Blob (REST API)
نماذج التعليمات البرمجية
موارد مكتبة العميل
الملاحظات
https://aka.ms/ContentUserFeedback.
قريبًا: خلال عام 2024، سنتخلص تدريجيًا من GitHub Issues بوصفها آلية إرسال ملاحظات للمحتوى ونستبدلها بنظام ملاحظات جديد. لمزيد من المعلومات، راجعإرسال الملاحظات وعرضها المتعلقة بـ