ContainerClient class

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

يمتد

StorageClient

المنشئون

ContainerClient(string, PipelineLike)

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

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

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

ContainerClient(string, string, StoragePipelineOptions)

إنشاء مثيل ContainerClient.

الخصائص

containerName

اسم الحاوية.

الخصائص الموروثة

accountName
credential

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

url

قيمة سلسلة URL المرمزة.

الأساليب

create(ContainerCreateOptions)

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

راجع قواعد تسمية https://docs.microsoft.com/en-us/rest/api/storageservices/create-container: راجع https://learn.microsoft.com/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata

createIfNotExists(ContainerCreateOptions)

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

راجع قواعد تسمية https://docs.microsoft.com/en-us/rest/api/storageservices/create-container: راجع https://learn.microsoft.com/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata

delete(ContainerDeleteMethodOptions)

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

راجع https://docs.microsoft.com/en-us/rest/api/storageservices/delete-container

deleteBlob(string, ContainerDeleteBlobOptions)

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

راجع https://docs.microsoft.com/en-us/rest/api/storageservices/delete-blob

deleteIfExists(ContainerDeleteMethodOptions)

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

راجع https://docs.microsoft.com/en-us/rest/api/storageservices/delete-container

exists(ContainerExistsOptions)

إرجاع true إذا كان مورد حاوية Azure الذي يمثله هذا العميل موجودا؛ خطأ خلاف ذلك.

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

findBlobsByTags(string, ContainerFindBlobByTagsOptions)

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

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

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

let i = 1;
for await (const blob of containerClient.findBlobsByTags("tagkey='tagvalue'")) {
  console.log(`Blob ${i++}: ${blob.name}`);
}

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

let i = 1;
const iter = containerClient.findBlobsByTags("tagkey='tagvalue'");
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.findBlobsByTags("tagkey='tagvalue'").byPage({ maxPageSize: 20 })) {
  if (response.blobs) {
    for (const blob of response.blobs) {
      console.log(`Blob ${i++}: ${blob.name}`);
    }
  }
}

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

let i = 1;
let iterator = containerClient.findBlobsByTags("tagkey='tagvalue'").byPage({ maxPageSize: 2 });
let response = (await iterator.next()).value;

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

// Gets next marker
let marker = response.continuationToken;
// Passing next marker as continuationToken
iterator = containerClient
  .findBlobsByTags("tagkey='tagvalue'")
  .byPage({ continuationToken: marker, maxPageSize: 10 });
response = (await iterator.next()).value;

// Prints blob names
if (response.blobs) {
  for (const blob of response.blobs) {
     console.log(`Blob ${i++}: ${blob.name}`);
  }
}
generateSasUrl(ContainerGenerateSasUrlOptions)

متوفر فقط ل ContainerClient الذي تم إنشاؤه باستخدام بيانات اعتماد مفتاح مشتركة.

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

راجع https://docs.microsoft.com/en-us/rest/api/storageservices/constructing-a-service-sas

getAccessPolicy(ContainerGetAccessPolicyOptions)

الحصول على أذونات الحاوية المحددة. تشير الأذونات إلى ما إذا كان يمكن الوصول إلى بيانات الحاوية بشكل عام.

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

راجع https://docs.microsoft.com/en-us/rest/api/storageservices/get-container-acl

getAccountInfo(ContainerGetAccountInfoOptions)

ترجع عملية الحصول على معلومات الحساب اسم sku ونوع الحساب للحساب المحدد. تتوفر عملية الحصول على معلومات الحساب على إصدارات الخدمة بدءا من الإصدار 2018-03-28.

راجع https://docs.microsoft.com/en-us/rest/api/storageservices/get-account-information

getAppendBlobClient(string)

إنشاء AppendBlobClient

getBlobBatchClient()

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

راجع https://docs.microsoft.com/en-us/rest/api/storageservices/blob-batch

getBlobClient(string)

إنشاء blobClient

getBlobLeaseClient(string)

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

getBlockBlobClient(string)

إنشاء BlockBlobClient

getPageBlobClient(string)

إنشاء pageBlobClient

getProperties(ContainerGetPropertiesOptions)

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

راجع https://docs.microsoft.com/en-us/rest/api/storageservices/get-container-properties

تحذير: سيكون للكائن metadata الذي تم إرجاعه في الاستجابة مفاتيحه بأحرف صغيرة، حتى لو احتوت في الأصل على أحرف كبيرة. يختلف هذا عن مفاتيح بيانات التعريف التي تم إرجاعها بواسطة الأسلوب listContainersBlobServiceClient باستخدام خيار includeMetadata، والذي سيحتفظ بأحرفها الأصلية.

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

مثال على استخدام 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}`);
  }
  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}`);
  }
}

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

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}`);
  }
}
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، فستتم إزالة الحاوية الموجودة ACL.

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

راجع https://docs.microsoft.com/en-us/rest/api/storageservices/set-container-acl

setMetadata(Metadata, ContainerSetMetadataOptions)

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

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

راجع https://docs.microsoft.com/en-us/rest/api/storageservices/set-container-metadata

uploadBlockBlob(string, RequestBodyType, number, BlockBlobUploadOptions)

إنشاء كائن ثنائي كبير الحجم جديد للكتلة، أو تحديث محتوى كائن ثنائي كبير الحجم للكتلة موجود.

يؤدي تحديث كتلة كائن ثنائي كبير الحجم موجود إلى الكتابة فوق أي بيانات تعريف موجودة على الكائن الثنائي كبير الحجم. التحديثات الجزئية غير مدعومة؛ تتم الكتابة فوق محتوى الكائن الثنائي كبير الحجم الموجود بالمحتوى الجديد. لإجراء تحديث جزئي لكائن ثنائي كبير الحجم للكتلة، استخدم stageBlockcommitBlockList.

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

راجع https://docs.microsoft.com/rest/api/storageservices/put-blob

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

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.

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

containerName

اسم الحاوية.

string containerName

قيمة الخاصية

string

تفاصيل الخاصية الموروثة

accountName

accountName: string

قيمة الخاصية

string

موروث من StorageClient.accountName

credential

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

credential: StorageSharedKeyCredential | AnonymousCredential | TokenCredential

قيمة الخاصية

موروث من StorageClient.credential

url

قيمة سلسلة URL المرمزة.

url: string

قيمة الخاصية

string

موروث من StorageClient.url

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

create(ContainerCreateOptions)

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

راجع قواعد تسمية https://docs.microsoft.com/en-us/rest/api/storageservices/create-container: راجع https://learn.microsoft.com/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata

function create(options?: ContainerCreateOptions): Promise<ContainerCreateResponse>

المعلمات

options
ContainerCreateOptions

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

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

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

المرتجعات

createIfNotExists(ContainerCreateOptions)

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

راجع قواعد تسمية https://docs.microsoft.com/en-us/rest/api/storageservices/create-container: راجع https://learn.microsoft.com/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata

function createIfNotExists(options?: ContainerCreateOptions): Promise<ContainerCreateIfNotExistsResponse>

المعلمات

المرتجعات

delete(ContainerDeleteMethodOptions)

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

راجع https://docs.microsoft.com/en-us/rest/api/storageservices/delete-container

function delete(options?: ContainerDeleteMethodOptions): Promise<ContainerDeleteResponse>

المعلمات

options
ContainerDeleteMethodOptions

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

المرتجعات

deleteBlob(string, ContainerDeleteBlobOptions)

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

راجع https://docs.microsoft.com/en-us/rest/api/storageservices/delete-blob

function deleteBlob(blobName: string, options?: ContainerDeleteBlobOptions): Promise<BlobDeleteResponse>

المعلمات

blobName

string

options
ContainerDeleteBlobOptions

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

المرتجعات

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

deleteIfExists(ContainerDeleteMethodOptions)

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

راجع https://docs.microsoft.com/en-us/rest/api/storageservices/delete-container

function deleteIfExists(options?: ContainerDeleteMethodOptions): Promise<ContainerDeleteIfExistsResponse>

المعلمات

options
ContainerDeleteMethodOptions

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

المرتجعات

exists(ContainerExistsOptions)

إرجاع true إذا كان مورد حاوية Azure الذي يمثله هذا العميل موجودا؛ خطأ خلاف ذلك.

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

function exists(options?: ContainerExistsOptions): Promise<boolean>

المعلمات

المرتجعات

Promise<boolean>

findBlobsByTags(string, ContainerFindBlobByTagsOptions)

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

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

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

let i = 1;
for await (const blob of containerClient.findBlobsByTags("tagkey='tagvalue'")) {
  console.log(`Blob ${i++}: ${blob.name}`);
}

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

let i = 1;
const iter = containerClient.findBlobsByTags("tagkey='tagvalue'");
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.findBlobsByTags("tagkey='tagvalue'").byPage({ maxPageSize: 20 })) {
  if (response.blobs) {
    for (const blob of response.blobs) {
      console.log(`Blob ${i++}: ${blob.name}`);
    }
  }
}

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

let i = 1;
let iterator = containerClient.findBlobsByTags("tagkey='tagvalue'").byPage({ maxPageSize: 2 });
let response = (await iterator.next()).value;

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

// Gets next marker
let marker = response.continuationToken;
// Passing next marker as continuationToken
iterator = containerClient
  .findBlobsByTags("tagkey='tagvalue'")
  .byPage({ continuationToken: marker, maxPageSize: 10 });
response = (await iterator.next()).value;

// Prints blob names
if (response.blobs) {
  for (const blob of response.blobs) {
     console.log(`Blob ${i++}: ${blob.name}`);
  }
}
function findBlobsByTags(tagFilterSqlExpression: string, options?: ContainerFindBlobByTagsOptions): PagedAsyncIterableIterator<FilterBlobItem, ContainerFindBlobsByTagsSegmentResponse, PageSettings>

المعلمات

tagFilterSqlExpression

string

المعلمة where تمكن المتصل من الاستعلام عن الكائنات الثنائية كبيرة الحجم التي تتطابق علاماتها مع تعبير معين. يجب تقييم التعبير المحدد إلى صحيح لكي يتم إرجاع كائن ثنائي كبير الحجم في النتائج. تحدد قاعدة بناء جملة عامل التصفية [OData - ABNF] التدقيق النحوي الرسمي لقيمة معلمة الاستعلام where؛ ومع ذلك، يتم دعم مجموعة فرعية فقط من بناء جملة عامل تصفية OData في خدمة Blob.

options
ContainerFindBlobByTagsOptions

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

المرتجعات

generateSasUrl(ContainerGenerateSasUrlOptions)

متوفر فقط ل ContainerClient الذي تم إنشاؤه باستخدام بيانات اعتماد مفتاح مشتركة.

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

راجع https://docs.microsoft.com/en-us/rest/api/storageservices/constructing-a-service-sas

function generateSasUrl(options: ContainerGenerateSasUrlOptions): Promise<string>

المعلمات

options
ContainerGenerateSasUrlOptions

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

المرتجعات

Promise<string>

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

getAccessPolicy(ContainerGetAccessPolicyOptions)

الحصول على أذونات الحاوية المحددة. تشير الأذونات إلى ما إذا كان يمكن الوصول إلى بيانات الحاوية بشكل عام.

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

راجع https://docs.microsoft.com/en-us/rest/api/storageservices/get-container-acl

function getAccessPolicy(options?: ContainerGetAccessPolicyOptions): Promise<ContainerGetAccessPolicyResponse>

المعلمات

options
ContainerGetAccessPolicyOptions

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

المرتجعات

getAccountInfo(ContainerGetAccountInfoOptions)

ترجع عملية الحصول على معلومات الحساب اسم sku ونوع الحساب للحساب المحدد. تتوفر عملية الحصول على معلومات الحساب على إصدارات الخدمة بدءا من الإصدار 2018-03-28.

راجع https://docs.microsoft.com/en-us/rest/api/storageservices/get-account-information

function getAccountInfo(options?: ContainerGetAccountInfoOptions): Promise<ContainerGetAccountInfoResponse>

المعلمات

options
ContainerGetAccountInfoOptions

خيارات لعملية Service Get Account Info.

المرتجعات

بيانات الاستجابة لعملية Service Get Account Info.

getAppendBlobClient(string)

إنشاء AppendBlobClient

function getAppendBlobClient(blobName: string): AppendBlobClient

المعلمات

blobName

string

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

المرتجعات

getBlobBatchClient()

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

راجع https://docs.microsoft.com/en-us/rest/api/storageservices/blob-batch

function getBlobBatchClient(): BlobBatchClient

المرتجعات

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

getBlobClient(string)

إنشاء blobClient

function getBlobClient(blobName: string): BlobClient

المعلمات

blobName

string

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

المرتجعات

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

getBlobLeaseClient(string)

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

function getBlobLeaseClient(proposeLeaseId?: string): BlobLeaseClient

المعلمات

proposeLeaseId

string

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

المرتجعات

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

getBlockBlobClient(string)

إنشاء BlockBlobClient

function getBlockBlobClient(blobName: string): BlockBlobClient

المعلمات

blobName

string

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

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

const content = "Hello world!";

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

المرتجعات

getPageBlobClient(string)

إنشاء pageBlobClient

function getPageBlobClient(blobName: string): PageBlobClient

المعلمات

blobName

string

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

المرتجعات

getProperties(ContainerGetPropertiesOptions)

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

راجع https://docs.microsoft.com/en-us/rest/api/storageservices/get-container-properties

تحذير: سيكون للكائن metadata الذي تم إرجاعه في الاستجابة مفاتيحه بأحرف صغيرة، حتى لو احتوت في الأصل على أحرف كبيرة. يختلف هذا عن مفاتيح بيانات التعريف التي تم إرجاعها بواسطة الأسلوب listContainersBlobServiceClient باستخدام خيار includeMetadata، والذي سيحتفظ بأحرفها الأصلية.

function getProperties(options?: ContainerGetPropertiesOptions): Promise<ContainerGetPropertiesResponse>

المعلمات

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

مثال على استخدام 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}`);
  }
  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}`);
  }
}

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

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}`);
  }
}
function listBlobsByHierarchy(delimiter: string, options?: ContainerListBlobsOptions): PagedAsyncIterableIterator<({ kind: "prefix" } & BlobPrefix) | ({ kind: "blob" } & BlobItem), ContainerListBlobHierarchySegmentResponse, PageSettings>

المعلمات

delimiter

string

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

options
ContainerListBlobsOptions

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

المرتجعات

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): PagedAsyncIterableIterator<BlobItem, ContainerListBlobFlatSegmentResponse, PageSettings>

المعلمات

options
ContainerListBlobsOptions

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

المرتجعات

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

setAccessPolicy(PublicAccessType, SignedIdentifier[], ContainerSetAccessPolicyOptions)

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

عند تعيين أذونات للحاوية، يتم استبدال الأذونات الموجودة. إذا لم يتم توفير وصول أو containerAcl، فستتم إزالة الحاوية الموجودة ACL.

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

راجع https://docs.microsoft.com/en-us/rest/api/storageservices/set-container-acl

function setAccessPolicy(access?: PublicAccessType, containerAcl?: SignedIdentifier[], options?: ContainerSetAccessPolicyOptions): Promise<ContainerSetAccessPolicyResponse>

المعلمات

access
PublicAccessType

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

containerAcl

SignedIdentifier[]

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

options
ContainerSetAccessPolicyOptions

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

المرتجعات

setMetadata(Metadata, ContainerSetMetadataOptions)

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

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

راجع https://docs.microsoft.com/en-us/rest/api/storageservices/set-container-metadata

function setMetadata(metadata?: Metadata, options?: ContainerSetMetadataOptions): Promise<ContainerSetMetadataResponse>

المعلمات

metadata
Metadata

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

options
ContainerSetMetadataOptions

خيارات لعملية بيانات تعريف مجموعة الحاوية.

المرتجعات

uploadBlockBlob(string, RequestBodyType, number, BlockBlobUploadOptions)

إنشاء كائن ثنائي كبير الحجم جديد للكتلة، أو تحديث محتوى كائن ثنائي كبير الحجم للكتلة موجود.

يؤدي تحديث كتلة كائن ثنائي كبير الحجم موجود إلى الكتابة فوق أي بيانات تعريف موجودة على الكائن الثنائي كبير الحجم. التحديثات الجزئية غير مدعومة؛ تتم الكتابة فوق محتوى الكائن الثنائي كبير الحجم الموجود بالمحتوى الجديد. لإجراء تحديث جزئي لكائن ثنائي كبير الحجم للكتلة، استخدم stageBlockcommitBlockList.

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

راجع https://docs.microsoft.com/rest/api/storageservices/put-blob

function uploadBlockBlob(blobName: string, body: RequestBodyType, contentLength: number, options?: BlockBlobUploadOptions): Promise<{ blockBlobClient: BlockBlobClient, response: BlockBlobUploadResponse }>

المعلمات

blobName

string

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

body
HttpRequestBody

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

contentLength

number

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

options
BlockBlobUploadOptions

خيارات لتكوين عملية Block Blob Upload.

المرتجعات

Promise<{ blockBlobClient: BlockBlobClient, response: BlockBlobUploadResponse }>

بيانات استجابة تحميل Block Blob ومثيل BlockBlobClient المقابل.