حذف واستعادة حاوية كائن ثنائي كبير الحجم باستخدام Java
توضح هذه المقالة كيفية حذف الحاويات باستخدام مكتبة عميل Azure Storage ل Java. إذا قمت بتمكين الحذف المبدئي للحاوية، يمكنك استعادة الحاويات المحذوفة.
المتطلبات الأساسية
- اشتراك Azure - إنشاء اشتراك مجاني
- حساب تخزين Azure - إنشاء حساب تخزين
- Java Development Kit (JDK) الإصدار 8 أو أحدث (نوصي بالإصدار 17 للحصول على أفضل تجربة)
- يتم استخدام Apache Maven لإدارة المشاريع في هذا المثال
إعداد بيئتك
إذا لم يكن لديك مشروع موجود، يوضح لك هذا القسم كيفية إعداد مشروع للعمل مع مكتبة عميل Azure Blob Storage ل Java. لمزيد من المعلومات، راجع بدء استخدام Azure Blob Storage وJava.
لاستخدام أمثلة التعليمات البرمجية في هذه المقالة، اتبع هذه الخطوات لإعداد مشروعك.
إشعار
تستخدم هذه المقالة أداة بناء Maven لإنشاء التعليمات البرمجية المثال وتشغيلها. تعمل أدوات البناء الأخرى، مثل Gradle، أيضا مع Azure SDK ل Java.
تثبيت الحزم
افتح الملف pom.xml
في محرر النصوص الخاص بك. قم بتثبيت الحزم عن طريق تضمين ملف BOM، أو تضمين تبعية مباشرة.
إضافة عبارات الاستيراد
أضف عبارات import
التالية:
import com.azure.storage.blob.*;
import com.azure.storage.blob.models.*;
التصريح
يجب أن يكون لآلية التخويل الأذونات اللازمة لحذف حاوية أو استعادتها. للحصول على تخويل باستخدام معرف Microsoft Entra (مستحسن)، تحتاج إلى دور Azure RBAC المضمن في Storage Blob Data Contributor أو أعلى. لمعرفة المزيد، راجع إرشادات التخويل لحذف الحاوية (REST API) واستعادة الحاوية (REST API).
إنشاء كائن عميل
لتوصيل تطبيق ب Blob Storage، قم بإنشاء مثيل BlobServiceClient.
يستخدم المثال التالي BlobServiceClientBuilder لإنشاء كائن BlobServiceClient
باستخدام DefaultAzureCredential
، ويوضح كيفية إنشاء عملاء الحاوية والكائنات الثنائية كبيرة الحجم، إذا لزم الأمر:
// Azure SDK client builders accept the credential as a parameter
// TODO: Replace <storage-account-name> with your actual storage account name
BlobServiceClient blobServiceClient = new BlobServiceClientBuilder()
.endpoint("https://<storage-account-name>.blob.core.windows.net/")
.credential(new DefaultAzureCredentialBuilder().build())
.buildClient();
// If needed, you can create a BlobContainerClient object from the BlobServiceClient
BlobContainerClient containerClient = blobServiceClient
.getBlobContainerClient("<container-name>");
// If needed, you can create a BlobClient object from the BlobContainerClient
BlobClient blobClient = containerClient
.getBlobClient("<blob-name>");
لمعرفة المزيد حول إنشاء كائنات العميل وإدارتها، راجع إنشاء كائنات العميل التي تتفاعل مع موارد البيانات وإدارتها.
احذف حاوية
لحذف حاوية في Java، استخدم إحدى الطرق التالية من BlobServiceClient
الفئة :
يمكنك أيضا حذف حاوية باستخدام إحدى الطرق التالية من BlobContainerClient
الفئة :
بعد حذف حاوية، لا يمكنك إنشاء حاوية بنفس الاسم لمدة 30 ثانية على الأقل. ستفشل محاولة إنشاء حاوية بنفس الاسم مع رمز 409 (Conflict)
خطأ HTTP . ستفشل أي عمليات أخرى على الحاوية أو الكائنات الثنائية كبيرة الحجم التي تحتوي عليها مع رمز 404 (Not Found)
خطأ HTTP .
يستخدم المثال التالي كائن BlobServiceClient
لحذف الحاوية المحددة:
public void deleteContainer(BlobServiceClient blobServiceClient, String containerName) {
// Delete the container using the service client
blobServiceClient.deleteBlobContainer(containerName);
}
يوضح المثال التالي كيفية حذف كافة الحاويات التي تبدأ ببادئة محددة:
public void deleteContainersWithPrefix(BlobServiceClient blobServiceClient) {
ListBlobContainersOptions options = new ListBlobContainersOptions()
.setPrefix("container-");
// Delete the container with the specified prefix using the service client
for (BlobContainerItem containerItem : blobServiceClient.listBlobContainers(options, null)) {
BlobContainerClient containerClient = blobServiceClient.getBlobContainerClient(containerItem.getName());
containerClient.delete();
}
}
استعادة حاوية محذوفة
عند تمكين الحذف المبدئي للحاوية لحساب تخزين، قد يتم استرداد حاوية محذوفة ومحتوياتها خلال فترة استبقاء محددة. لمعرفة المزيد حول الحذف المبدئي للحاوية، راجع تمكين الحذف المبدئي للحاويات وإدارته. يمكنك استعادة حاوية محذوفة مبدئيا عن طريق استدعاء الأسلوب التالي من BlobServiceClient
الفئة :
يبحث المثال التالي عن حاوية محذوفة، ويحصل على إصدار تلك الحاوية المحذوفة، ثم يمرر الإصدار إلى undeleteBlobContainer
الأسلوب لاستعادة الحاوية.
public void restoreContainer(BlobServiceClient blobServiceClient) {
ListBlobContainersOptions options = new ListBlobContainersOptions();
options.getDetails().setRetrieveDeleted(true);
// Delete the container with the specified prefix using the service client
for (BlobContainerItem deletedContainerItem : blobServiceClient.listBlobContainers(options, null)) {
BlobContainerClient containerClient = blobServiceClient
.undeleteBlobContainer(deletedContainerItem.getName(), deletedContainerItem.getVersion());
}
}
الموارد
لمعرفة المزيد حول حذف حاوية باستخدام مكتبة عميل Azure Blob Storage ل Java، راجع الموارد التالية.
نماذج التعليمات البرمجية
عمليات واجهة برمجة تطبيقات REST
يحتوي Azure SDK ل Java على مكتبات تستند إلى واجهة برمجة تطبيقات AZURE REST، مما يسمح لك بالتفاعل مع عمليات REST API من خلال نماذج Java المألوفة. تستخدم أساليب مكتبة العميل لحذف حاوية أو استعادتها عمليات REST API التالية:
- حذف الحاوية (REST API)
- استعادة الحاوية (REST API)
موارد مكتبة العميل
(راجع أيضًا )
المحتوى ذو الصلة
- هذه المقالة هي جزء من دليل مطور Blob Storage ل Java. لمعرفة المزيد، راجع القائمة الكاملة لمقالات دليل المطور في إنشاء تطبيق Java الخاص بك.