alawadi.cloudمستندات

الحدود والأخطاء

حدّ حجم الرفع الواحد وإرشاد الرفع المُجزّأ، وماذا يحدث عند امتلاء الـ bucket أو نفاد تجمّع السعة، والأسباب الشائعة لـ 403 AccessDenied، ورموز أخطاء S3 التي ستراها.

الحدود الحالية

الحدّالقيمة
جزء الرفع الواحد95 MB (الكائنات الأكبر تستخدم الرفع المُجزّأ)
حجم الكائنغير محدود عملياً عبر الرفع المُجزّأ، ضمن سعة الـ bucket لديك
العنونةأسلوب المسار (path-style) فقط
الوصول العاملا يوجد: كل طلب يجب أن يُوقَّع بمفاتيحك

الكائنات الكبيرة وحدّ 95 MB للجزء

طلب الرفع الواحد محدود بـ 95 MB عند الحافة. وهذا حدّ على طلب HTTP واحد، لا على حجم الكائن الأقصى:

  • كل SDK لـ S3، إضافةً إلى aws s3 cp وrclone وmc، يتحوّل تلقائياً إلى الرفع المُجزّأ (multipart upload) للكائنات الكبيرة، فيقسّمها إلى أجزاء دون الحدّ ويعيد تجميعها على الخادم. ونادراً ما تفكّر في ذلك.
  • فقط إذا فرضت رفعاً بجزء واحد فوق 95 MB (كما تفعل بعض عمليات الرفع اليدوية) سترفضه الحافة بـ 413. والحلّ أن تترك أداتك تُجري رفعاً مُجزّأً، أو أن تضبط حجم جزء عند 95 MB أو أقلّ.

عند امتلاء الـ bucket

السعة المحجوزة لـ bucket حصّة صارمة. عند بلوغ البيانات المخزّنة لها، تُرفَض الكتابات الإضافية حتى تحرّر مساحة (بحذف كائنات) أو تطلب سعة أكبر عبر تذكرة دعم. وتبقى القراءة والحذف متاحَين، فتستطيع دائماً استعادة مساحة.

عند نفاد تجمّع السعة

تحجز الـ buckets سعتها من تجمّع محدود على مستوى المنطقة. وإن كان التجمّع بلا مساحة مؤقتاً حين تحاول إنشاء bucket (أو طلب سعة أكبر)، يفشل الطلب برسالة سعة غير كافية (insufficient capacity). وهذا ليس خطأً في إعدادك: اختر سعة أصغر، أو أعد المحاولة لاحقاً، أو افتح تذكرة دعم إن كنت تحتاج حجزاً كبيراً.

لماذا يظهر لك 403 AccessDenied

AccessDenied هو الخطأ الأكثر شيوعاً، وهو يعني غالباً أن الطلب وُقِّع لكنه غير مسموح. الأسباب المعتادة:

  • مفتاح أو مفتاح سرّي خاطئ أو مكتوب خطأً. أعد نسخهما من لوحة التحكم.
  • مفتاح أُعيد توليده. إعادة التوليد تُبطِل المفتاح السرّي السابق فوراً؛ حدّث التطبيق بالجديد. راجع مفاتيح الوصول.
  • bucket حساب آخر. تصل بيانات الاعتماد إلى buckets حسابك فقط، وتوجيهها إلى bucket لا تملكه يُرفَض.
  • الاسم القصير للـ bucket. استخدم الاسم الكامل المُسبَّق بالبادئة (t...-<name>) المعروض في لوحة التحكم، لا الاسم القصير الذي كتبته (استخدام الاسم الخاطئ يظهر عادةً كـ 404 NoSuchBucket).

رموز أخطاء S3

لأن الخدمة متوافقة مع S3، فإن عميلك يفهم أصلاً هذه الرموز القياسية:

HTTPالرمزالمعنى وما يلزمك فعله
400InvalidRequestطلب مشوّه، مثل جزء رفع مُجزّأ خاطئ. دع الـ SDK يبني الطلب.
403AccessDeniedمفتاح خاطئ أو أُعيد توليده، أو موجَّه إلى bucket لا تملكه. راجع الأسباب أعلاه.
403SignatureDoesNotMatchالمفتاح السرّي خاطئ، أو ساعة العميل منحرفة كثيراً. أعد نسخ المفتاح السرّي؛ اضبط الساعة.
403InvalidAccessKeyIdمفتاح الوصول غير معروف أو مُبطَل. أعد نسخه، أو أعد توليد الزوج.
404NoSuchBucketاسم الـ bucket خاطئ. استخدم الاسم الكامل المُسبَّق بالبادئة من لوحة التحكم.
404NoSuchKeyمفتاح الكائن غير موجود في هذا الـ bucket. تحقّق من المسار.
409BucketAlreadyOwnedByYouلديك أصلاً bucket بهذا الاسم. أعد استخدامه.
413EntityTooLargeتجاوز جزء رفع واحد 95 MB. استخدم الرفع المُجزّأ.
503SlowDownطلبات كثيرة بسرعة كبيرة. تمهّل وأعد المحاولة؛ وتعيد SDK الرسمية المحاولة تلقائياً.

القراءة لا تكشف حساباً آخر أبداً

العزل مفروض في طبقة التخزين، لا في لوحة التحكم فقط. فحتى المفتاح الصحيح الحيّ لا يستطيع سرد bucket خارج حسابك أو قراءته، بل يتلقّى 403 AccessDenied. بياناتك لا يمكن الوصول إليها إلا بمفاتيحك أنت.

في هذه الصفحة