ContainerClient class

يمثل ContainerClient عنوان URL لحاوية Azure Storage مما يسمح لك بمعالجة الكائنات الثنائية كبيرة الحجم الخاصة به.

Extends

المنشئون

ContainerClient(string, PipelineLike)

إنشاء مثيل ContainerClient. يقبل هذا الأسلوب عنوان URL يشير إلى حاوية. لن يتم إلغاء سلسلة URL المشفرة مرتين، وسيتم إلغاء الأحرف الخاصة فقط في مسار URL. إذا كان اسم كائن ثنائي كبير الحجم يتضمن ؟ أو ٪، يجب ترميز اسم الكائن الثنائي كبير الحجم في عنوان URL.

ContainerClient(string, StorageSharedKeyCredential | AnonymousCredential | TokenCredential, StoragePipelineOptions)

إنشاء مثيل ContainerClient. يقبل هذا الأسلوب عنوان URL يشير إلى حاوية. لن يتم إلغاء سلسلة URL المشفرة مرتين، وسيتم إلغاء الأحرف الخاصة فقط في مسار URL. إذا كان اسم كائن ثنائي كبير الحجم يتضمن ؟ أو ٪، يجب ترميز اسم الكائن الثنائي كبير الحجم في عنوان URL.

ContainerClient(string, string, StoragePipelineOptions)

إنشاء مثيل ContainerClient.

الخصائص

accountName
containerName

اسم الحاوية.

credential

مثل AnonymousCredential أو StorageSharedKeyCredential أو أي بيانات اعتماد من الحزمة @azure/identity لمصادقة الطلبات إلى الخدمة. يمكنك أيضا توفير كائن ينفذ واجهة TokenCredential. إذا لم يتم تحديده، يتم استخدام AnonymousCredential.

url

قيمة سلسلة URL المشفرة.

الأساليب

create(ContainerCreateOptions)

إنشاء حاوية جديدة ضمن الحساب المحدد. إذا كانت الحاوية بنفس الاسم موجودة بالفعل، تفشل العملية.

createIfNotExists(ContainerCreateOptions)

إنشاء حاوية جديدة ضمن الحساب المحدد. إذا كانت الحاوية بنفس الاسم موجودة بالفعل، فلن يتم تغييرها.

delete(ContainerDeleteMethodOptions)

وضع علامة على الحاوية المحددة للحذف. يتم حذف الحاوية وأي كائنات ثنائية كبيرة الحجم موجودة داخلها لاحقا أثناء تجميع البيانات المهملة.

deleteBlob(string, ContainerDeleteBlobOptions)

وضع علامة على الكائن الثنائي كبير الحجم أو اللقطة المحددة للحذف. يتم حذف الكائن الثنائي كبير الحجم لاحقا أثناء تجميع البيانات المهملة. لاحظ أنه لحذف كائن ثنائي كبير الحجم، يجب حذف جميع اللقطات الخاصة به. يمكنك حذف كليهما في نفس الوقت باستخدام عملية حذف كائن ثنائي كبير الحجم.

deleteIfExists(ContainerDeleteMethodOptions)

وضع علامة على الحاوية المحددة للحذف إذا كانت موجودة. يتم حذف الحاوية وأي كائنات ثنائية كبيرة الحجم موجودة داخلها لاحقا أثناء تجميع البيانات المهملة.

exists(ContainerExistsOptions)

إرجاع true إذا كان مورد حاوية Azure الذي يمثله هذا العميل موجودا؛ خطأ خلاف ذلك. ملاحظة: استخدم هذه الدالة بعناية حيث قد يتم حذف حاوية موجودة من قبل عملاء أو تطبيقات أخرى. العكس قد تتم إضافة حاويات جديدة بنفس الاسم بواسطة عملاء أو تطبيقات أخرى بعد اكتمال هذه الدالة.

generateSasUrl(ContainerGenerateSasUrlOptions)

متوفر فقط ل ContainerClient الذي تم إنشاؤه باستخدام بيانات اعتماد مفتاح مشترك. ينشئ عنوان URI لتوقيع الوصول المشترك لخدمة حاوية Blob (SAS) استنادا إلى خصائص العميل والمعلمات التي تم تمريرها. يتم توقيع SAS بواسطة بيانات اعتماد المفتاح المشترك للعميل.

getAccessPolicy(ContainerGetAccessPolicyOptions)

يحصل على أذونات الحاوية المحددة. تشير الأذونات إلى ما إذا كان يمكن الوصول إلى بيانات الحاوية بشكل عام. تحذير: من المحتمل أن يفقد JavaScript Date الدقة عند تحليل السلاسل startsOn و expiresOn. على سبيل المثال، التاريخ الجديد("2018-12-31T03:44:23.8827891Z").toISOString() سيحصل على "2018-12-31T03:44:23.882Z".

getAppendBlobClient(string)

إنشاء <xref:AppendBlobClient>

getBlobBatchClient()

إنشاء كائن BlobBatchClient لإجراء عمليات الدفعة.

getBlobClient(string)

إنشاء <xref:BlobClient>

getBlobLeaseClient(string)

<xref:BlobLeaseClient> احصل على الذي يدير عقود الإيجار على الحاوية.

getBlockBlobClient(string)

إنشاء <xref:BlockBlobClient>

getPageBlobClient(string)

إنشاء <xref:PageBlobClient>

getProperties(ContainerGetPropertiesOptions)

إرجاع كافة بيانات التعريف المعرفة من قبل المستخدم وخصائص النظام للحاوية المحددة. لا تتضمن البيانات التي تم إرجاعها قائمة الكائنات الثنائية كبيرة الحجم للحاوية.

listBlobsByHierarchy(string, ContainerListBlobsOptions)

إرجاع مكرر غير متزامن قابل للتكبير لسرد جميع الكائنات الثنائية كبيرة الحجم حسب التسلسل الهرمي. ضمن الحساب المحدد. يقوم .byPage() بإرجاع مكرر غير متزامن لسرد الكائنات الثنائية كبيرة الحجم حسب التسلسل الهرمي في الصفحات.

مثال على استخدام for await بناء الجملة:

for await (const item of containerClient.listBlobsByHierarchy("/")) {
  if (item.kind === "prefix") {
    console.log(`\tBlobPrefix: ${item.name}`);
  } else {
    console.log(`\tBlobItem: name - ${item.name}, last modified - ${item.properties.lastModified}`);
  }
}

مثال على استخدام iter.next():

let iter = containerClient.listBlobsByHierarchy("/", { prefix: "prefix1/" });
let entity = await iter.next();
while (!entity.done) {
  let item = entity.value;
  if (item.kind === "prefix") {
    console.log(`\tBlobPrefix: ${item.name}`);
  } else {
    console.log(`\tBlobItem: name - ${item.name}, last modified - ${item.properties.lastModified}`);
  }
  entity = await iter.next();
}

مثال على استخدام byPage():

console.log("Listing blobs by hierarchy by page");
for await (const response of containerClient.listBlobsByHierarchy("/").byPage()) {
  const segment = response.segment;
  if (segment.blobPrefixes) {
    for (const prefix of segment.blobPrefixes) {
      console.log(`\tBlobPrefix: ${prefix.name}`);
    }
  }
  for (const blob of response.segment.blobItems) {
    console.log(`\tBlobItem: name - ${blob.name}, last modified - ${blob.properties.lastModified}`);
  }
}

مثال على استخدام الترحيل مع الحد الأقصى لحجم الصفحة:

console.log("Listing blobs by hierarchy by page, specifying a prefix and a max page size");

let i = 1;
for await (const response of containerClient.listBlobsByHierarchy("/", { prefix: "prefix2/sub1/"}).byPage({ maxPageSize: 2 })) {
  console.log(`Page ${i++}`);
  const segment = response.segment;

  if (segment.blobPrefixes) {
    for (const prefix of segment.blobPrefixes) {
      console.log(`\tBlobPrefix: ${prefix.name}`);
    }
  }

  for (const blob of response.segment.blobItems) {
    console.log(`\tBlobItem: name - ${blob.name}, last modified - ${blob.properties.lastModified}`);
  }
}
listBlobsFlat(ContainerListBlobsOptions)

إرجاع مكرر غير متزامن قابل للتكبير لسرد جميع الكائنات الثنائية كبيرة الحجم ضمن الحساب المحدد. يقوم .byPage() بإرجاع مكرر غير متزامن لسرد الكائنات الثنائية كبيرة الحجم في الصفحات.

مثال على استخدام for await بناء الجملة:

// Get the containerClient before you run these snippets,
// Can be obtained from `blobServiceClient.getContainerClient("<your-container-name>");`
let i = 1;
for await (const blob of containerClient.listBlobsFlat()) {
  console.log(`Blob ${i++}: ${blob.name}`);
}

مثال على استخدام iter.next():

let i = 1;
let iter = containerClient.listBlobsFlat();
let blobItem = await iter.next();
while (!blobItem.done) {
  console.log(`Blob ${i++}: ${blobItem.value.name}`);
  blobItem = await iter.next();
}

مثال على استخدام byPage():

// passing optional maxPageSize in the page settings
let i = 1;
for await (const response of containerClient.listBlobsFlat().byPage({ maxPageSize: 20 })) {
  for (const blob of response.segment.blobItems) {
    console.log(`Blob ${i++}: ${blob.name}`);
  }
}

مثال على استخدام الترحيل مع علامة:

let i = 1;
let iterator = containerClient.listBlobsFlat().byPage({ maxPageSize: 2 });
let response = (await iterator.next()).value;

// Prints 2 blob names
for (const blob of response.segment.blobItems) {
  console.log(`Blob ${i++}: ${blob.name}`);
}

// Gets next marker
let marker = response.continuationToken;

// Passing next marker as continuationToken

iterator = containerClient.listBlobsFlat().byPage({ continuationToken: marker, maxPageSize: 10 });
response = (await iterator.next()).value;

// Prints 10 blob names
for (const blob of response.segment.blobItems) {
  console.log(`Blob ${i++}: ${blob.name}`);
}
setAccessPolicy(PublicAccessType, SignedIdentifier[], ContainerSetAccessPolicyOptions)

تعيين أذونات الحاوية المحددة. تشير الأذونات إلى ما إذا كان يمكن الوصول إلى الكائنات الثنائية كبيرة الحجم في حاوية بشكل عام. عند تعيين أذونات للحاوية، يتم استبدال الأذونات الموجودة. إذا لم يتم توفير الوصول أو containerAcl، فستتم إزالة قائمة التحكم بالوصول الموجودة للحاوية.

عند إنشاء نهج وصول مخزن على حاوية، قد يستغرق الأمر ما يصل إلى 30 ثانية حتى يصبح ساري المفعول. أثناء هذا الفاصل الزمني، سيفشل توقيع الوصول المشترك المقترن بنهج الوصول المخزن مع رمز الحالة 403 (ممنوع)، حتى يصبح نهج الوصول نشطا.

setMetadata(Metadata, ContainerSetMetadataOptions)

تعيين زوج واحد أو أكثر من أزواج الاسم والقيمة المعرفة من قبل المستخدم للحاوية المحددة. إذا لم يتم توفير أي خيار، أو لم يتم تحديد بيانات تعريف في المعلمة، فستتم إزالة بيانات تعريف الحاوية.

uploadBlockBlob(string, HttpRequestBody, number, BlockBlobUploadOptions)

إنشاء كائن ثنائي كبير الحجم جديد للكتلة، أو تحديث محتوى كائن ثنائي كبير الحجم للكتلة موجود. يؤدي تحديث كائن ثنائي كبير الحجم للكتلة موجود إلى الكتابة فوق أي بيانات تعريف موجودة على الكائن الثنائي كبير الحجم. التحديثات الجزئية غير مدعومة؛ تتم الكتابة فوق محتوى الكائن الثنائي كبير الحجم الموجود بالمحتوى الجديد. لإجراء تحديث جزئي لكائن ثنائي كبير الحجم للكتلة، استخدم <xref:BlockBlobClient.stageBlock> و <xref:BlockBlobClient.commitBlockList>.

هذه طريقة تحميل غير متوازية، يرجى استخدام <xref:BlockBlobClient.uploadFile>أو <xref:BlockBlobClient.uploadStream><xref:BlockBlobClient.uploadBrowserData> للحصول على أداء أفضل مع تحميل التزامن.

تفاصيل المنشئ

ContainerClient(string, PipelineLike)

إنشاء مثيل ContainerClient. يقبل هذا الأسلوب عنوان URL يشير إلى حاوية. لن يتم إلغاء سلسلة URL المشفرة مرتين، وسيتم إلغاء الأحرف الخاصة فقط في مسار URL. إذا كان اسم كائن ثنائي كبير الحجم يتضمن ؟ أو ٪، يجب ترميز اسم الكائن الثنائي كبير الحجم في عنوان URL.

new ContainerClient(url: string, pipeline: PipelineLike)

المعلمات

url

string

سلسلة URL تشير إلى حاوية تخزين Azure، مثل "https://myaccount.blob.core.windows.net/mycontainer". يمكنك إلحاق SAS إذا كنت تستخدم AnonymousCredential، مثل "https://myaccount.blob.core.windows.net/mycontainer?sasString".

pipeline
PipelineLike

استدعاء newPipeline() لإنشاء مسار افتراضي، أو توفير مسار مخصص.

ContainerClient(string, StorageSharedKeyCredential | AnonymousCredential | TokenCredential, StoragePipelineOptions)

إنشاء مثيل ContainerClient. يقبل هذا الأسلوب عنوان URL يشير إلى حاوية. لن يتم إلغاء سلسلة URL المشفرة مرتين، وسيتم إلغاء الأحرف الخاصة فقط في مسار URL. إذا كان اسم كائن ثنائي كبير الحجم يتضمن ؟ أو ٪، يجب ترميز اسم الكائن الثنائي كبير الحجم في عنوان URL.

new ContainerClient(url: string, credential?: StorageSharedKeyCredential | AnonymousCredential | TokenCredential, options?: StoragePipelineOptions)

المعلمات

url

string

سلسلة URL تشير إلى حاوية تخزين Azure، مثل "https://myaccount.blob.core.windows.net/mycontainer". يمكنك إلحاق SAS إذا كنت تستخدم AnonymousCredential، مثل "https://myaccount.blob.core.windows.net/mycontainer?sasString".

credential

StorageSharedKeyCredential | AnonymousCredential | TokenCredential

مثل AnonymousCredential أو StorageSharedKeyCredential أو أي بيانات اعتماد من الحزمة @azure/identity لمصادقة الطلبات إلى الخدمة. يمكنك أيضا توفير كائن ينفذ واجهة TokenCredential. إذا لم يتم تحديده، يتم استخدام AnonymousCredential.

options
StoragePipelineOptions

‏‏اختياري. خيارات لتكوين البنية الأساسية لبرنامج ربط العمليات التجارية HTTP.

ContainerClient(string, string, StoragePipelineOptions)

إنشاء مثيل ContainerClient.

new ContainerClient(connectionString: string, containerName: string, options?: StoragePipelineOptions)

المعلمات

connectionString

string

سلسلة اتصال الحساب أو سلسلة اتصال SAS لحساب تخزين Azure. [ ملاحظة - يمكن استخدام سلسلة اتصال الحساب فقط في وقت تشغيل NODE.JS. ] مثال على سلسلة اتصال الحساب -DefaultEndpointsProtocol=https;AccountName=myaccount;AccountKey=accountKey;EndpointSuffix=core.windows.net مثال على سلسلة اتصال SAS - BlobEndpoint=https://myaccount.blob.core.windows.net/;QueueEndpoint=https://myaccount.queue.core.windows.net/;FileEndpoint=https://myaccount.file.core.windows.net/;TableEndpoint=https://myaccount.table.core.windows.net/;SharedAccessSignature=sasString

containerName

string

اسم الحاوية.

options
StoragePipelineOptions

‏‏اختياري. خيارات لتكوين البنية الأساسية لبرنامج ربط العمليات التجارية HTTP.

تفاصيل الخاصية

accountName

accountName: string

قيمة الخاصية

string

containerName

اسم الحاوية.

string containerName

قيمة الخاصية

string

credential

مثل AnonymousCredential أو StorageSharedKeyCredential أو أي بيانات اعتماد من الحزمة @azure/identity لمصادقة الطلبات إلى الخدمة. يمكنك أيضا توفير كائن ينفذ واجهة TokenCredential. إذا لم يتم تحديده، يتم استخدام AnonymousCredential.

credential: StorageSharedKeyCredential | AnonymousCredential | TokenCredential

قيمة الخاصية

url

قيمة سلسلة URL المشفرة.

url: string

قيمة الخاصية

string

تفاصيل الأسلوب

create(ContainerCreateOptions)

إنشاء حاوية جديدة ضمن الحساب المحدد. إذا كانت الحاوية بنفس الاسم موجودة بالفعل، تفشل العملية.

function create(options?: ContainerCreateOptions)

المعلمات

options
ContainerCreateOptions

خيارات لعملية إنشاء الحاوية.

استخدام المثال:

const containerClient = blobServiceClient.getContainerClient("<container name>");
const createContainerResponse = await containerClient.create();
console.log("Container was created successfully", createContainerResponse.requestId);

المرتجعات

createIfNotExists(ContainerCreateOptions)

إنشاء حاوية جديدة ضمن الحساب المحدد. إذا كانت الحاوية بنفس الاسم موجودة بالفعل، فلن يتم تغييرها.

function createIfNotExists(options?: ContainerCreateOptions)

المعلمات

المرتجعات

delete(ContainerDeleteMethodOptions)

وضع علامة على الحاوية المحددة للحذف. يتم حذف الحاوية وأي كائنات ثنائية كبيرة الحجم موجودة داخلها لاحقا أثناء تجميع البيانات المهملة.

function delete(options?: ContainerDeleteMethodOptions)

المعلمات

options
ContainerDeleteMethodOptions

خيارات لعملية حذف الحاوية.

المرتجعات

deleteBlob(string, ContainerDeleteBlobOptions)

وضع علامة على الكائن الثنائي كبير الحجم أو اللقطة المحددة للحذف. يتم حذف الكائن الثنائي كبير الحجم لاحقا أثناء تجميع البيانات المهملة. لاحظ أنه لحذف كائن ثنائي كبير الحجم، يجب حذف جميع اللقطات الخاصة به. يمكنك حذف كليهما في نفس الوقت باستخدام عملية حذف كائن ثنائي كبير الحجم.

function deleteBlob(blobName: string, options?: ContainerDeleteBlobOptions)

المعلمات

blobName

string

options
ContainerDeleteBlobOptions

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

المرتجعات

حظر بيانات استجابة حذف كائن ثنائي كبير الحجم.

deleteIfExists(ContainerDeleteMethodOptions)

وضع علامة على الحاوية المحددة للحذف إذا كانت موجودة. يتم حذف الحاوية وأي كائنات ثنائية كبيرة الحجم موجودة داخلها لاحقا أثناء تجميع البيانات المهملة.

function deleteIfExists(options?: ContainerDeleteMethodOptions)

المعلمات

options
ContainerDeleteMethodOptions

خيارات لعملية حذف الحاوية.

المرتجعات

exists(ContainerExistsOptions)

إرجاع true إذا كان مورد حاوية Azure الذي يمثله هذا العميل موجودا؛ خطأ خلاف ذلك. ملاحظة: استخدم هذه الدالة بعناية حيث قد يتم حذف حاوية موجودة من قبل عملاء أو تطبيقات أخرى. العكس قد تتم إضافة حاويات جديدة بنفس الاسم بواسطة عملاء أو تطبيقات أخرى بعد اكتمال هذه الدالة.

function exists(options?: ContainerExistsOptions)

المعلمات

المرتجعات

Promise<boolean>

generateSasUrl(ContainerGenerateSasUrlOptions)

متوفر فقط ل ContainerClient الذي تم إنشاؤه باستخدام بيانات اعتماد مفتاح مشترك. ينشئ عنوان URI لتوقيع الوصول المشترك لخدمة حاوية Blob (SAS) استنادا إلى خصائص العميل والمعلمات التي تم تمريرها. يتم توقيع SAS بواسطة بيانات اعتماد المفتاح المشترك للعميل.

function generateSasUrl(options: ContainerGenerateSasUrlOptions)

المعلمات

options
ContainerGenerateSasUrlOptions

المعلمات الاختيارية.

المرتجعات

Promise<string>

SAS URI الذي يتكون من URI للمورد الذي يمثله هذا العميل، متبوعا بالرمز المميز SAS الذي تم إنشاؤه.

getAccessPolicy(ContainerGetAccessPolicyOptions)

يحصل على أذونات الحاوية المحددة. تشير الأذونات إلى ما إذا كان يمكن الوصول إلى بيانات الحاوية بشكل عام. تحذير: من المحتمل أن يفقد JavaScript Date الدقة عند تحليل السلاسل startsOn و expiresOn. على سبيل المثال، التاريخ الجديد("2018-12-31T03:44:23.8827891Z").toISOString() سيحصل على "2018-12-31T03:44:23.882Z".

function getAccessPolicy(options?: ContainerGetAccessPolicyOptions)

المعلمات

options
ContainerGetAccessPolicyOptions

خيارات لعملية نهج الوصول إلى الحاوية.

المرتجعات

getAppendBlobClient(string)

إنشاء <xref:AppendBlobClient>

function getAppendBlobClient(blobName: string)

المعلمات

blobName

string

اسم كائن ثنائي كبير الحجم للإلحاق

المرتجعات

getBlobBatchClient()

إنشاء كائن BlobBatchClient لإجراء عمليات الدفعة.

function getBlobBatchClient()

المرتجعات

كائن BlobBatchClient جديد لهذه الحاوية.

getBlobClient(string)

إنشاء <xref:BlobClient>

function getBlobClient(blobName: string)

المعلمات

blobName

string

اسم كائن ثنائي كبير الحجم

المرتجعات

كائن BlobClient جديد لاسم الكائن الثنائي كبير الحجم المحدد.

getBlobLeaseClient(string)

<xref:BlobLeaseClient> احصل على الذي يدير عقود الإيجار على الحاوية.

function getBlobLeaseClient(proposeLeaseId?: string)

المعلمات

proposeLeaseId

string

معرف الإيجار المقترح الأولي.

المرتجعات

كائن BlobLeaseClient جديد لإدارة عقود الإيجار على الحاوية.

getBlockBlobClient(string)

إنشاء <xref:BlockBlobClient>

function getBlockBlobClient(blobName: string)

المعلمات

blobName

string

اسم كائن ثنائي كبير الحجم للكتلة

استخدام المثال:

const content = "Hello world!";

const blockBlobClient = containerClient.getBlockBlobClient("<blob name>");
const uploadBlobResponse = await blockBlobClient.upload(content, content.length);

المرتجعات

getPageBlobClient(string)

إنشاء <xref:PageBlobClient>

function getPageBlobClient(blobName: string)

المعلمات

blobName

string

اسم كائن ثنائي كبير الحجم للصفحة

المرتجعات

getProperties(ContainerGetPropertiesOptions)

إرجاع كافة بيانات التعريف المعرفة من قبل المستخدم وخصائص النظام للحاوية المحددة. لا تتضمن البيانات التي تم إرجاعها قائمة الكائنات الثنائية كبيرة الحجم للحاوية.

function getProperties(options?: ContainerGetPropertiesOptions)

المعلمات

options
ContainerGetPropertiesOptions

خيارات لعملية Container Get Properties.

المرتجعات

listBlobsByHierarchy(string, ContainerListBlobsOptions)

إرجاع مكرر غير متزامن قابل للتكبير لسرد جميع الكائنات الثنائية كبيرة الحجم حسب التسلسل الهرمي. ضمن الحساب المحدد. يقوم .byPage() بإرجاع مكرر غير متزامن لسرد الكائنات الثنائية كبيرة الحجم حسب التسلسل الهرمي في الصفحات.

مثال على استخدام for await بناء الجملة:

for await (const item of containerClient.listBlobsByHierarchy("/")) {
  if (item.kind === "prefix") {
    console.log(`\tBlobPrefix: ${item.name}`);
  } else {
    console.log(`\tBlobItem: name - ${item.name}, last modified - ${item.properties.lastModified}`);
  }
}

مثال على استخدام iter.next():

let iter = containerClient.listBlobsByHierarchy("/", { prefix: "prefix1/" });
let entity = await iter.next();
while (!entity.done) {
  let item = entity.value;
  if (item.kind === "prefix") {
    console.log(`\tBlobPrefix: ${item.name}`);
  } else {
    console.log(`\tBlobItem: name - ${item.name}, last modified - ${item.properties.lastModified}`);
  }
  entity = await iter.next();
}

مثال على استخدام byPage():

console.log("Listing blobs by hierarchy by page");
for await (const response of containerClient.listBlobsByHierarchy("/").byPage()) {
  const segment = response.segment;
  if (segment.blobPrefixes) {
    for (const prefix of segment.blobPrefixes) {
      console.log(`\tBlobPrefix: ${prefix.name}`);
    }
  }
  for (const blob of response.segment.blobItems) {
    console.log(`\tBlobItem: name - ${blob.name}, last modified - ${blob.properties.lastModified}`);
  }
}

مثال على استخدام الترحيل مع الحد الأقصى لحجم الصفحة:

console.log("Listing blobs by hierarchy by page, specifying a prefix and a max page size");

let i = 1;
for await (const response of containerClient.listBlobsByHierarchy("/", { prefix: "prefix2/sub1/"}).byPage({ maxPageSize: 2 })) {
  console.log(`Page ${i++}`);
  const segment = response.segment;

  if (segment.blobPrefixes) {
    for (const prefix of segment.blobPrefixes) {
      console.log(`\tBlobPrefix: ${prefix.name}`);
    }
  }

  for (const blob of response.segment.blobItems) {
    console.log(`\tBlobItem: name - ${blob.name}, last modified - ${blob.properties.lastModified}`);
  }
}
function listBlobsByHierarchy(delimiter: string, options?: ContainerListBlobsOptions)

المعلمات

delimiter

string

الحرف أو السلسلة المستخدمة لتعريف التسلسل الهرمي الظاهري

options
ContainerListBlobsOptions

خيارات لسرد عملية الكائنات الثنائية كبيرة الحجم.

المرتجعات

PagedAsyncIterableIterator<Object & BlobPrefix | Object & BlobItem, ContainerListBlobHierarchySegmentResponse>

listBlobsFlat(ContainerListBlobsOptions)

إرجاع مكرر غير متزامن قابل للتكبير لسرد جميع الكائنات الثنائية كبيرة الحجم ضمن الحساب المحدد. يقوم .byPage() بإرجاع مكرر غير متزامن لسرد الكائنات الثنائية كبيرة الحجم في الصفحات.

مثال على استخدام for await بناء الجملة:

// Get the containerClient before you run these snippets,
// Can be obtained from `blobServiceClient.getContainerClient("<your-container-name>");`
let i = 1;
for await (const blob of containerClient.listBlobsFlat()) {
  console.log(`Blob ${i++}: ${blob.name}`);
}

مثال على استخدام iter.next():

let i = 1;
let iter = containerClient.listBlobsFlat();
let blobItem = await iter.next();
while (!blobItem.done) {
  console.log(`Blob ${i++}: ${blobItem.value.name}`);
  blobItem = await iter.next();
}

مثال على استخدام byPage():

// passing optional maxPageSize in the page settings
let i = 1;
for await (const response of containerClient.listBlobsFlat().byPage({ maxPageSize: 20 })) {
  for (const blob of response.segment.blobItems) {
    console.log(`Blob ${i++}: ${blob.name}`);
  }
}

مثال على استخدام الترحيل مع علامة:

let i = 1;
let iterator = containerClient.listBlobsFlat().byPage({ maxPageSize: 2 });
let response = (await iterator.next()).value;

// Prints 2 blob names
for (const blob of response.segment.blobItems) {
  console.log(`Blob ${i++}: ${blob.name}`);
}

// Gets next marker
let marker = response.continuationToken;

// Passing next marker as continuationToken

iterator = containerClient.listBlobsFlat().byPage({ continuationToken: marker, maxPageSize: 10 });
response = (await iterator.next()).value;

// Prints 10 blob names
for (const blob of response.segment.blobItems) {
  console.log(`Blob ${i++}: ${blob.name}`);
}
function listBlobsFlat(options?: ContainerListBlobsOptions)

المعلمات

options
ContainerListBlobsOptions

خيارات لسرد الكائنات الثنائية كبيرة الحجم.

المرتجعات

PagedAsyncIterableIterator<BlobItem, ContainerListBlobFlatSegmentResponse>

asyncIterableIterator يدعم ترحيل الصفحات.

setAccessPolicy(PublicAccessType, SignedIdentifier[], ContainerSetAccessPolicyOptions)

تعيين أذونات الحاوية المحددة. تشير الأذونات إلى ما إذا كان يمكن الوصول إلى الكائنات الثنائية كبيرة الحجم في حاوية بشكل عام. عند تعيين أذونات للحاوية، يتم استبدال الأذونات الموجودة. إذا لم يتم توفير الوصول أو containerAcl، فستتم إزالة قائمة التحكم بالوصول الموجودة للحاوية.

عند إنشاء نهج وصول مخزن على حاوية، قد يستغرق الأمر ما يصل إلى 30 ثانية حتى يصبح ساري المفعول. أثناء هذا الفاصل الزمني، سيفشل توقيع الوصول المشترك المقترن بنهج الوصول المخزن مع رمز الحالة 403 (ممنوع)، حتى يصبح نهج الوصول نشطا.

function setAccessPolicy(access?: PublicAccessType, containerAcl?: SignedIdentifier[], options?: ContainerSetAccessPolicyOptions)

المعلمات

access
PublicAccessType

مستوى الوصول العام إلى البيانات في الحاوية.

containerAcl

SignedIdentifier[]

صفيف من العناصر التي تحتوي كل منها على معرف فريد وتفاصيل نهج الوصول.

options
ContainerSetAccessPolicyOptions

خيارات لعملية نهج الوصول لتعيين الحاوية.

المرتجعات

setMetadata(Metadata, ContainerSetMetadataOptions)

تعيين زوج واحد أو أكثر من أزواج الاسم والقيمة المعرفة من قبل المستخدم للحاوية المحددة. إذا لم يتم توفير أي خيار، أو لم يتم تحديد بيانات تعريف في المعلمة، فستتم إزالة بيانات تعريف الحاوية.

function setMetadata(metadata?: Metadata, options?: ContainerSetMetadataOptions)

المعلمات

metadata
Metadata

استبدل بيانات التعريف الموجودة بهذه القيمة. إذا لم يتم توفير أي قيمة، فستتم إزالة بيانات التعريف الموجودة.

options
ContainerSetMetadataOptions

خيارات لعملية Container Set Metadata.

المرتجعات

uploadBlockBlob(string, HttpRequestBody, number, BlockBlobUploadOptions)

إنشاء كائن ثنائي كبير الحجم جديد للكتلة، أو تحديث محتوى كائن ثنائي كبير الحجم للكتلة موجود. يؤدي تحديث كائن ثنائي كبير الحجم للكتلة موجود إلى الكتابة فوق أي بيانات تعريف موجودة على الكائن الثنائي كبير الحجم. التحديثات الجزئية غير مدعومة؛ تتم الكتابة فوق محتوى الكائن الثنائي كبير الحجم الموجود بالمحتوى الجديد. لإجراء تحديث جزئي لكائن ثنائي كبير الحجم للكتلة، استخدم <xref:BlockBlobClient.stageBlock> و <xref:BlockBlobClient.commitBlockList>.

هذه طريقة تحميل غير متوازية، يرجى استخدام <xref:BlockBlobClient.uploadFile>أو <xref:BlockBlobClient.uploadStream><xref:BlockBlobClient.uploadBrowserData> للحصول على أداء أفضل مع تحميل التزامن.

function uploadBlockBlob(blobName: string, body: HttpRequestBody, contentLength: number, options?: BlockBlobUploadOptions)

المعلمات

blobName

string

اسم الكائن الثنائي كبير الحجم للكتلة المراد إنشاؤها أو تحديثها.

body

HttpRequestBody

كائن ثنائي كبير الحجم أو سلسلة أو ArrayBuffer أو ArrayBufferView أو دالة ترجع دفقا جديدا قابلا للقراءة تكون إزاحته من بداية مصدر البيانات.

contentLength

number

طول الجسم بالبايت. استخدم Buffer.byteLength() لحساب طول النص الأساسي لسلسلة بما في ذلك الأحرف غير المرمزة ب Base64/Hex.

options
BlockBlobUploadOptions

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

المرتجعات

Promise<Object>

بيانات استجابة تحميل كائن ثنائي كبير الحجم للكتلة ومثيل BlockBlobClient المقابل.