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

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

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

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

احذف حاوية

لحذف حاوية، استخدم الأسلوب التالي من فئة BlobServiceClient :

يمكنك أيضا حذف حاوية باستخدام الأسلوب التالي من فئة ContainerClient :

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

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

async function deleteContainer(blobServiceClient, containerName) {
  
  return await blobServiceClient.deleteContainer(containerName);
}

يوضح المثال التالي كيفية حذف كافة الحاويات التي تبدأ ببادئة محددة:

async function deleteContainersWithPrefix(blobServiceClient, prefix) {

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

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

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

      await containerClient.delete();
  
      console.log(`Deleted ${containerItem.name} container - success`);
    }catch(ex){
      console.log(`Deleted ${containerItem.name} container - failed - ${ex.message}`);
    }
  }
}

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

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

يبحث المثال التالي عن حاوية محذوفة، ويحصل على معرف الإصدار لتلك الحاوية المحذوفة، ثم يمرر هذا المعرف إلى undeleteContainer الأسلوب لاستعادة الحاوية.

async function undeleteContainer(blobServiceClient, containerName) {
  
  // Version to restore
  let containerVersion;

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

  // Find the deleted container and restore it
  for await (const containerItem of blobServiceClient.listContainers(containerOptions)) {
    if (containerItem.name === containerName) {
      containerVersion = containerItem.version;
    }
  }

  const containerClient = await blobServiceClient.undeleteContainer(
    containerName,
    containerVersion,
  );
}

الموارد

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

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

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

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

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

(راجع أيضًا )

  • هذه المقالة هي جزء من دليل مطور Blob Storage ل JavaScript/Typescript. لمعرفة المزيد، راجع القائمة الكاملة لمقالات دليل المطور في إنشاء تطبيق JavaScript/Typescript.