| فقط مربوط به نسخه Cloud Firestore Enterprise است. |
از سرویس حذف انبوه مدیریتشده برای حذف دادهها از پایگاه داده خود استفاده کنید. این ویژگی از حذف در برابر یک یا چند گروه مجموعه پشتیبانی میکند.
این صفحه نحوه حذف اسناد به صورت دستهای با استفاده از سرویس حذف دستهای مدیریتشده را شرح میدهد. سرویس حذف دستهای مدیریتشده Cloud Firestore با سازگاری MongoDB از طریق ابزار خط فرمان gcloud و API REST Cloud Firestore در دسترس است.
قبل از اینکه شروع کنی
قبل از اینکه بتوانید از سرویس حذف دستهای مدیریتشده استفاده کنید، باید مراحل زیر را انجام دهید:
- فعال کردن صورتحساب برای پروژه Google Cloud شما. فقط پروژههای Google Cloud که صورتحساب آنها فعال است میتوانند از قابلیت حذف دسته جمعی استفاده کنند.
مطمئن شوید که حساب کاربری شما مجوزهای لازم برای Cloud Firestore با سازگاری MongoDB را دارد. اگر شما صاحب پروژه هستید، حساب کاربری شما مجوزهای لازم را دارد. در غیر این صورت، نقشهای زیر مجوزهای لازم را برای عملیات حذف دستهای اعطا میکنند:
- نقشهای سازگاری Cloud Firestore با MongoDB:
Owner،Cloud Datastore OwnerیاCloud Datastore Bulk Admin
- نقشهای سازگاری Cloud Firestore با MongoDB:
راهاندازی gcloud برای پروژه شما
شما میتوانید عملیات حذف دستهای را از طریق کنسول گوگل کلود یا ابزار خط فرمان gcloud آغاز کنید. برای استفاده از gcloud ، ابزار خط فرمان را تنظیم کرده و از طریق یکی از روشهای زیر به پروژه خود متصل شوید:
با استفاده از Cloud Shell از کنسول Google Cloud
gcloudدسترسی پیدا کنید.مطمئن شوید که
gcloudبرای پروژه صحیح پیکربندی شده است:gcloud config set project [PROJECT_ID]
حذف دسته جمعی دادهها
عملیات حذف دستهای ابتدا تمام اسناد مربوطه را در پایگاه داده شما پیدا کرده و آنها را به صورت دستهای حذف میکند. شما همچنان میتوانید این اسناد را جستجو یا بخوانید، در حالی که نتایج ممکن است بسته به پیشرفت انجام شده متفاوت باشد. حذف دستهای هیچ سندی را که پس از شروع عملیات اضافه یا تغییر داده شده است، حذف نمیکند.
حذف گروهی گروههای خاص از مجموعه
جیکلاود
برای حذف گروهی گروههای خاص از مجموعه، از فلگ --collection-ids استفاده کنید. این عملیات فقط گروههای مجموعه با شناسههای داده شده را حذف میکند.
gcloud firestore bulk-delete \ --collection-ids=[COLLECTION_GROUP_ID_1_OR_KIND_1],[COLLECTION_GROUP_ID_2_OR_KIND_2],[SUBCOLLECTION_GROUP_ID_1_OR_KIND_3] \ --database=[DATABASE]
مدیریت عملیات حذف دسته جمعی
پس از شروع عملیات حذف دستهای، Cloud Firestore با سازگاری MongoDB به عملیات یک نام منحصر به فرد اختصاص میدهد. میتوانید از نام عملیات برای حذف، لغو یا بررسی وضعیت عملیات استفاده کنید.
نام عملیاتها با پیشوند projects/[PROJECT_ID]/databases/[DATABASE_ID]/operations/ شروع میشوند، برای مثال:
projects/my-project/databases/(default)/operations/ASA1MTAwNDQxNAgadGx1YWZlZAcSeWx0aGdpbi1zYm9qLW5pbWRhEgopEg
با این حال، میتوانید هنگام مشخص کردن نام عملیات برای دستورات describe ، cancel و delete پیشوند را حذف کنید.
فهرست کردن تمام عملیات حذف دسته جمعی
جیکلاود
برای مشاهدهی تمام عملیاتهای در حال اجرا و عملیاتهای اخیراً تکمیلشده، از جمله عملیاتهای حذف دستهای، از دستور operations list استفاده کنید:
gcloud firestore operations list
بررسی وضعیت عملیات
جیکلاود
برای نمایش وضعیت عملیات حذف دستهای، از دستور operations describe استفاده کنید.
gcloud firestore operations describe [OPERATION_NAME]
تخمین زمان تکمیل
درخواست وضعیت یک عملیات طولانیمدت، معیارهای workEstimated و workCompleted را برمیگرداند. هر یک از این معیارها هم بر حسب تعداد بایتها و هم بر حسب تعداد اسناد برگردانده میشوند:
workEstimatedتعداد کل تخمینی بایتها و اسنادی را که یک عملیات پردازش خواهد کرد، نشان میدهد. Cloud Firestore با سازگاری MongoDB اگر نتواند تخمینی ارائه دهد، ممکن است این معیار را حذف کند.workCompletedتعداد بایتها و اسناد حذف شده تاکنون را نشان میدهد. پس از اتمام عملیات، مقدار آن تعداد کل بایتها و اسنادی را که واقعاً پردازش شدهاند نشان میدهد که ممکن است بزرگتر از مقدارworkEstimatedباشد.
تقسیم workCompleted بر اساس workEstimated برای یک تخمین پیشرفت تقریبی. این تخمین ممکن است دقیق نباشد، زیرا به جمعآوری آمار با تأخیر بستگی دارد.
لغو یک عملیات
جیکلاود
برای متوقف کردن عملیاتی که در حال انجام است، از دستور operations cancel استفاده کنید:
gcloud firestore operations cancel [OPERATION_NAME]
لغو یک عملیات در حال اجرا، آن را خنثی نمیکند. عملیات حذف دستهای لغو شده، اسناد حذف شده را بازیابی نمیکند.
حذف یک عملیات
از دستور gcloud firestore operations delete برای حذف یک عملیات تکمیل شده از لیست عملیاتهای اخیر استفاده کنید. برای لغو یک عملیات در حال اجرا، از عملیات لغو قبلی استفاده کنید.
gcloud firestore operations delete [OPERATION_NAME]
صدور صورتحساب و قیمتگذاری برای عملیات حذف انبوه
قبل از استفاده از سرویس حذف انبوه مدیریتشده، لازم است که پرداخت هزینه را برای پروژه Google Cloud خود فعال کنید.
توجه داشته باشید که Cloud Firestore با سازگاری MongoDB هزینهای را بر اساس کار واقعی انجام شده دریافت میکند. اگر عملیات به دلیل خطای کاربر لغو شود یا با شکست مواجه شود، هزینه پیشرفت کار از شما دریافت خواهد شد. Cloud Firestore با سازگاری MongoDB برای اسنادی که در نهایت حذف نمیشوند، مانند اسنادی که پس از شروع عملیات حذف تغییر میکنند، هزینهای برای خواندن یا حذف دریافت نمیکند. هزینه در روز تکمیل عملیات محاسبه خواهد شد.
عملیات حذف انبوه تا پس از اتمام، هشدارهای بودجه Google Cloud شما را فعال نمیکند. به طور مشابه، خواندنها و حذفهای انجام شده در طول عملیات حذف انبوه، پس از اتمام عملیات، بر میزان استفاده از ردیف رایگان شما اعمال میشوند. عملیات حذف انبوه بر میزان استفاده نشان داده شده در بخش استفاده از کنسول تأثیری ندارد.
مشاهده هزینههای حذف دسته جمعی
عملیات حذف دسته جمعی، برچسب goog-firestoremanaged:bulkdelete را برای عملیات دارای صورتحساب اعمال میکند. در صفحه گزارشهای Cloud Billing ، میتوانید از این برچسب برای مشاهده هزینههای مربوط به عملیات حذف دسته جمعی استفاده کنید.