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

توضح هذه المقالة كيفية حذف الحاويات باستخدام مكتبة عميل Azure Storage لـ JavaScript. إذا قمت بتمكين الحذف المبدئي للحاوية، يمكنك استعادة الحاويات المحذوفة.

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

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

احذف حاوية

لحذف حاوية في JavaScript، قم بإنشاء BlobServiceClient أو ContainerClient ثم استخدم إحدى الطرق التالية:

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

حذف حاوية مع BlobServiceClient

المثال التالي يحذف الحاوية المحددة. استخدم BlobServiceClient لحذف حاوية:

// delete container immediately on blobServiceClient
async function deleteContainerImmediately(blobServiceClient, containerName) {
  const response = await blobServiceClient.deleteContainer(containerName);

  if (!response.errorCode) {
    console.log(`deleted ${containerItem.name} container`);
  }
}

حذف الحاوية باستخدام ContainerClient

يوضح المثال التالي كيفية حذف جميع الحاويات التي يبدأ اسمها ببادئة محددة باستخدام ContainerClient.

async function deleteContainersWithPrefix(blobServiceClient, blobNamePrefix){

  const containerOptions = {
    includeDeleted: false,
    includeMetadata: false,
    includeSystem: true,
    prefix: blobNamePrefix
  }

  for await (const containerItem of blobServiceClient.listContainers(containerOptions)) {

    const containerClient = blobServiceClient.getContainerClient(containerItem.name);

    const response = await containerClient.delete();

    if(!response.errorCode){
      console.log(`deleted ${containerItem.name} container`);
    }
  }
}

استعادة حاوية محذوفة

عند تمكين الحذف المبدئي للحاوية لحساب تخزين، قد تُسترد حاوية ومحتوياتها بعد حذفها، خلال فترة الاحتفاظ التي تحددها. يمكنك استعادة حاوية محذوفة مبدئيا باستخدام كائن BlobServiceClient :

يبحث المثال التالي على حاوية محذوفة، ويحصل على معرف إصدار تلك الحاوية المحذوفة، ثم يمرر هذا المعرف إلى طريقة UndeleteBlobContainerAsync لاستعادة الحاوية.

// Undelete specific container - last version
async function undeleteContainer(blobServiceClient, containerName) {

  // version to undelete
  let containerVersion;

  const containerOptions = {
    includeDeleted: true,
    prefix: containerName
  }

  // container listing returns version (timestamp) in the ContainerItem
  for await (const containerItem of blobServiceClient.listContainers(containerOptions)) {

    // if there are multiple deleted versions of the same container,
    // the versions are in asc time order
    // the last version is the most recent
    if (containerItem.name === containerName) {
      containerVersion = containerItem.version;
    }
  }

  const containerClient = await blobServiceClient.undeleteContainer(
    containerName,
    containerVersion,

    // optional/new container name - if unused, original container name is used
    //newContainerName 
  );

  // undelete was successful
  console.log(`${containerName} is undeleted`);

  // do something with containerClient
  // ...
}

الموارد

لمعرفة المزيد حول حذف حاوية باستخدام مكتبة عميل Azure Blob Storage ل JavaScript، راجع الموارد التالية.

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

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

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

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

(راجع أيضًا )