إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
الكتابة على مستوى الإصدار مرة واحدة، قراءة العديد من النهج (WORM) هو نوع من نهج عدم قابلية التغيير التي يمكن تعيينها على مستوى الحساب أو الحاوية أو الإصدار. لمعرفة المزيد حول التخزين غير القابل للتغيير ل Azure Blob Storage، راجع تخزين بيانات الكائنات الثنائية كبيرة الحجم المهمة للأعمال مع تخزين غير قابل للتغيير في كتابة مرة واحدة، اقرأ حالة العديد من (WORM).
Availability
يتم دعم نهج عدم قابلية التغيير على مستوى الإصدار (VLW) على مستوى الحساب للحسابات الجديدة، وعلى مستوى الحاوية والكائنات الثنائية كبيرة الحجم للحسابات/الحاويات الجديدة والموجودة. يتم دعم هذه النهج لكل من حسابات الكائن الثنائي كبير الحجم للكتلة للأغراض العامة وحسابات الكتلة المميزة. هذه الميزة غير مدعومة في حسابات مساحة الاسم الهرمية.
Version dependency
Version-level policies require that blob versioning is enabled for the storage account. لمعرفة كيفية تمكين تعيين إصدار blob، انظر تمكين تعيين إصدار blob وإدارته. ضع في اعتبارك أن تمكين تعيين الإصدار قد يكون له تأثير على الفوترة. لمزيد من المعلومات، راجع قسم التسعير والفوترة لإصدار Blob.
بعد تمكين تعيين الإصدار، عند تحميل كائن ثنائي كبير الحجم لأول مرة، يكون هذا الإصدار من الكائن الثنائي كبير الحجم هو الإصدار الحالي. في كل مرة تتم فيها الكتابة فوق الكائن الثنائي كبير الحجم، يتم إنشاء إصدار جديد يخزن الحالة السابقة للكائن الثنائي كبير الحجم. عند حذف الإصدار الحالي من كائن ثنائي كبير الحجم، يصبح الإصدار الحالي إصدارا سابقا ويتم الاحتفاظ به حتى يتم حذفه بشكل صريح. يمتلك إصدار blob السابق نهج الاستبقاء المستند إلى الوقت الذي كان ساري المفعول عندما أصبح الإصدار الحالي إصدارا سابقا.
إذا كان هناك نهج افتراضي ساري المفعول لحساب التخزين أو الحاوية، فعندما تنشئ عملية الكتابة فوق إصدارا سابقا، يرث الإصدار الحالي الجديد النهج الافتراضي للحساب أو الحاوية.
قد يكون لكل إصدار نهج استبقاء واحد فقط يستند إلى الوقت تم تكوينه. قد يحتوي الإصدار أيضا على تعليق قانوني واحد تم تكوينه.
لمعرفة كيفية تكوين نهج الاستبقاء المستندة إلى الوقت على مستوى الإصدار، راجع تكوين نهج عدم قابلية التغيير لإصدارات blob.
إعداد التمكين والنهج
يعد استخدام نهج غير قابلة للتغيير مع WORM على مستوى الإصدار عملية من خطوتين. أولا، قم بتمكين عدم قابلية التغيير على مستوى الإصدار. بعد ذلك، يمكنك تعيين نهج عدم قابلية التغيير على مستوى الإصدار.
لتعيين نهج على مستوى حساب التخزين، يجب أولا تمكين WORM على مستوى الإصدار على حساب التخزين. يمكنك القيام بذلك فقط في وقت إنشاء الحساب. لا يوجد خيار لتمكين WORM على مستوى الإصدار للحسابات الموجودة مسبقا.
لتعيين نهج على مستوى الحاوية، يجب أولا تمكين WORM على مستوى الإصدار إما على الحساب أو على الحاوية.
إذا كنت تخطط لتمكين WORM على مستوى الإصدار على حاوية، توصي Microsoft بتمكينه في وقت إنشاء الحاوية. ومع ذلك، يمكنك ترحيل حاوية ممكنة من WORM غير مستوى الإصدار إلى حاوية ممكنة على مستوى الإصدار WORM. إذا اخترت عدم ترحيل حاوية، فلا يزال بإمكانك تعيين نهج WORM على مستوى الحاوية على تلك الحاوية، ولكن لن يتوفر خيار تعيين نهج على مستوى الكائن الثنائي كبير الحجم على تلك الحاوية.
لتعيين نهج على مستوى الكائن الثنائي كبير الحجم، يجب تمكين WORM على مستوى الإصدار إما على الحساب أو الحاوية. لا يوجد خيار لتمكين WORM على مستوى الإصدار على مستوى الكائن الثنائي كبير الحجم؛ يجب أن تكون موروثة.
Migration
يمكن أن تدعم الحاويات الموجودة عدم قابلية التغيير على مستوى الإصدار ولكن يجب أن تخضع لعملية ترحيل أولا. قد تستغرق هذه العملية بعض الوقت. بمجرد التمكين، لا يمكن إزالة دعم WORM على مستوى الإصدار لتلك الحاوية. يمكنك أن ترحل 10 حاويات في المرة الواحدة لكل حساب تخزين. يعتمد مقدار الوقت الذي يستغرقه الترحيل بشكل أساسي على كمية الكائنات الثنائية كبيرة الحجم في الحاوية. ستستغرق الحاويات التي تحتوي على عدد كبير من الكائنات الثنائية كبيرة الحجم وقتا أطول بكثير للترحيل. لمزيد من المعلومات حول ترحيل حاوية لدعم عدم قابلية التغيير على مستوى الإصدار، راجع ترحيل حاوية موجودة لدعم عدم قابلية التغيير على مستوى الإصدار.
تكوين نهج على الإصدار الحالي
بعد تمكين الدعم لعدم قابلية التغيير على مستوى الإصدار لحساب تخزين أو حاوية، يكون لديك خيار تكوين نهج استبقاء افتراضي يستند إلى الوقت للحساب أو الحاوية. عند تكوين نهج استبقاء افتراضي يستند إلى الوقت للحساب أو الحاوية ثم تحميل كائن ثنائي كبير الحجم، يرث الكائن الثنائي كبير الحجم هذا النهج الافتراضي. يمكنك أيضا اختيار تجاوز النهج الافتراضي لأي كائن ثنائي كبير الحجم عند التحميل عن طريق تكوين نهج مخصص لهذا الكائن الثنائي كبير الحجم.
إذا تم إلغاء تأمين نهج الاستبقاء الافتراضي المستند إلى الوقت للحساب أو الحاوية، فإن الإصدار الحالي من كائن ثنائي كبير الحجم الذي يرث النهج الافتراضي سيكون له أيضا نهج غير مؤمن. بعد تحميل كائن ثنائي كبير الحجم فردي، يمكنك تقصير فترة الاستبقاء أو تمديدها للنهج على الإصدار الحالي من الكائن الثنائي كبير الحجم أو حذف الإصدار الحالي. يمكنك أيضا تأمين النهج للإصدار الحالي، حتى إذا ظل النهج الافتراضي على الحساب أو الحاوية غير مؤمن.
إذا تم تأمين نهج الاستبقاء الافتراضي المستند إلى الوقت للحساب أو الحاوية، فإن الإصدار الحالي من كائن ثنائي كبير الحجم الذي يرث النهج الافتراضي سيكون له أيضا نهج مؤمن. ومع ذلك، إذا تجاوزت النهج الافتراضي عند تحميل كائن ثنائي كبير الحجم عن طريق تعيين نهج لهذا الكائن الثنائي كبير الحجم فقط، فسيظل نهج هذا الكائن الثنائي كبير الحجم غير مؤمن حتى تقوم بتأمينه بشكل صريح. عند تأمين النهج على الإصدار الحالي، يمكنك تمديد الفاصل الزمني للاحتفاظ، ولكن لا يمكنك حذف النهج أو تقصير الفاصل الزمني للاحتفاظ.
إذا لم يكن هناك نهج افتراضي تم تكوينه إما لحساب التخزين أو الحاوية، فيمكنك تحميل كائن ثنائي كبير الحجم إما باستخدام نهج مخصص أو بدون نهج.
إذا تم تعديل النهج الافتراضي على حساب تخزين أو حاوية، تظل النهج على الكائنات داخل تلك الحاوية دون تغيير، حتى إذا تم توريث هذه النهج من النهج الافتراضي.
يعرض الجدول التالي الخيارات المختلفة المتاحة لتعيين نهج استبقاء يستند إلى الوقت على كائن ثنائي كبير الحجم عند التحميل:
| حالة النهج الافتراضية على الحساب أو الحاوية | تحميل كائن ثنائي كبير الحجم باستخدام النهج الافتراضي | تحميل كائن ثنائي كبير الحجم باستخدام نهج مخصص | تحميل كائن ثنائي كبير الحجم بدون نهج |
|---|---|---|---|
| النهج الافتراضي على الحساب أو الحاوية (غير مؤمن) | يتم تحميل Blob مع نهج غير مؤمن افتراضي | يتم تحميل Blob باستخدام نهج مخصص غير مؤمن | يتم تحميل Blob بدون نهج |
| النهج الافتراضي على الحساب أو الحاوية (مؤمن) | يتم تحميل الكائن الثنائي كبير الحجم مع نهج مؤمن افتراضي | يتم تحميل Blob باستخدام نهج مخصص غير مؤمن | يتم تحميل Blob بدون نهج |
| لا يوجد نهج افتراضي على الحساب أو الحاوية | N/A | يتم تحميل Blob باستخدام نهج مخصص غير مؤمن | يتم تحميل Blob بدون نهج |
تكوين نهج على إصدار سابق
عند تمكين تعيين الإصدار، تقوم عملية الكتابة أو الحذف إلى كائن ثنائي كبير الحجم بإنشاء إصدار سابق جديد من هذا الكائن الثنائي كبير الحجم الذي يحفظ حالة الكائن الثنائي كبير الحجم قبل العملية. بشكل افتراضي، يمتلك الإصدار السابق نهج الاستبقاء المستند إلى الوقت الذي كان ساريا للإصدار الحالي، إن وجد، عندما أصبح الإصدار الحالي إصدارا سابقا. يرث الإصدار الحالي الجديد النهج على الحاوية، إذا كان هناك نهج.
إذا تم إلغاء تأمين النهج الموروث بواسطة إصدار سابق، فيمكن تقصير الفاصل الزمني للاحتفاظ أو إطالته، أو يمكن حذف النهج. يمكن أيضا تأمين النهج على إصدار سابق لهذا الإصدار، حتى إذا تم إلغاء تأمين النهج على الإصدار الحالي.
إذا تم تأمين النهج الموروث بواسطة إصدار سابق، فيمكن إطالة الفاصل الزمني للاحتفاظ. لا يمكن حذف النهج، ولا يمكن تقصير الفاصل الزمني للاحتفاظ. إذا لم يكن هناك نهج تم تكوينه على الإصدار الحالي، فلن يرث الإصدار السابق أي نهج.
يمكنك تكوين نهج مخصص للإصدار. إذا تم تعديل النهج على إصدار حالي، تظل النهج الموجودة في الإصدارات السابقة دون تغيير، حتى إذا تم توريث النهج من إصدار حالي.
Deletion
بمجرد تمكين حساب أو حاوية لنهج غير قابل للتغيير، لا يمكن حذفه حتى يكون فارغا. الشيء الرئيسي الذي يجب ملاحظته هو أنه لا يهم إذا تم تعيين نهج غير قابل للتغيير على حساب أو حاوية WORM على مستوى الإصدار، فإنه مهم إذا تم تمكينه للنهج. بمجرد ذلك، يجب أن يكون الحساب أو الحاوية فارغة ليتم حذفها.
يمكنك حذف حاوية تم تمكينها لنهج غير قابل للتغيير فقط باستخدام عمليات وحدة التحكم. يتم إرسال جميع هذه الطلبات إلى عنوان URL Azure Resource Manager. For example, the PowerShell command Remove-AzRmStorageContainer uses a control plane operation to delete a container. In contrast, the Remove-AzStorageContainer command attempts to use a data plane operation, which won't succeed. وبالمثل، يستخدم الأمر Azure CLI az storage container-rm delete عملية وحدة تحكم، بينما يعتمد az storage container delete على عملية مستوى البيانات. يمكنك أيضا حذف حاوية من خلال مدخل Microsoft Azure، أثناء تنفيذ المهمة باستخدام عملية وحدة التحكم.
Scenarios
| Scenario | Prohibited operations | Blob protection | Container protection | Account protection |
|---|---|---|---|---|
| يتم حماية إصدار كائن ثنائي كبير الحجم بواسطة نهج استبقاء نشط و/أو احتجاز قانوني ساري المفعول | Delete Blob, Set Blob Metadata, and Put Page | لا يمكن حذف إصدار الكائن الثنائي كبير الحجم. لا يمكن كتابة بيانات تعريف المستخدم. Overwriting a blob with Put Blob, Put Block List, or Copy Blob creates a new version1. |
يفشل حذف الحاوية في حالة وجود كائن ثنائي كبير الحجم واحد على الأقل في الحاوية، بغض النظر عما إذا كان النهج مؤمناً أو غير مؤمن. | يفشل حذف حساب التخزين إذا كانت هناك حاوية واحدة على الأقل مع تمكين التخزين غير القابل للتغيير على مستوى الإصدار، أو إذا تم تمكينه للحساب. |
| يتم حماية إصدار كائن ثنائي كبير الحجم بواسطة نهج استبقاء منتهية الصلاحية ولا يوجد احتجاز قانوني ساري المفعول | تعيين بيانات تعريف كائن ثنائي كبير الحجم ووضع الصفحة | يتم حماية إصدار كائن ثنائي كبير الحجم بواسطة نهج استبقاء منتهية الصلاحية ولا يوجد احتجاز قانوني ساري المفعول | يمكن حذف إصدار الكائن الثنائي كبير الحجم. Overwriting a blob with Put Blob, Put Block List, or Copy Blob creates a new version1. |
يفشل حذف حساب التخزين إذا كانت هناك حاوية واحدة على الأقل تحتوي على إصدار كائن ثنائي كبير الحجم مع نهج استبقاء مؤمن يستند إلى الوقت. لا توفر النهج غير المؤمنة حماية من الحذف. |
1 Blob versions are always immutable for content. إذا تم تمكين تعيين الإصدار لحساب التخزين، فإن عملية الكتابة إلى كائن ثنائي كبير الحجم للكتلة تنشئ إصدارا جديدا، باستثناء عملية Put Block.
Limits
لا يمكن تعيين سوى 10000 حاوية مع نهج استبقاء فريدة قائمة على الوقت في حساب واحد؛ ومع ذلك، يمكنك تعيين نهج على مستوى الحساب سيتم توريثه بواسطة أكثر من 10000 حاوية.