في موقع كان فيه النسخ الاحتياطي والرفع إلى دلاء Google يعملان بشكل صحيح، تظهر صفحة النسخ الاحتياطي الآن الرسالة التالية:
فشل في الوصول إلى تخزين النسخ الاحتياطي: الرأس أو الاستعلام الذي قدمته يطلب وظيفة غير مُنفّذة.
ظننت في البداية أن المشكلة قد تكون متعلقة بأذونات الدلو (لكن هذا لا يبدو منطقيًا حقًا لأن نفس الإعدادات كانت تعمل قبل بضعة أسابيع)، ولكن بعد إعادة قراءة الرسالة، يبدو أن Discourse يحاول القيام بشيء ما، أوه، غير مُنفّذ. (وهو أمر يبدو أيضًا بعيدًا عن الاحتمال).
الرفع إلى S3 في دلو Google (وإن كان دلوًا مختلفًا) يعمل بشكل ممتاز. يوجد موقع إنتاجي يعمل بالإصدار 2.4.0.beta9، وموقع اختباري يعمل بالإصدار 2.4.0.beta10 (وقد قمت مؤخرًا بترقية أخرى على موقع الاختبار).
التثبيت هو الإصدار القياسي المكون من حاويتين، مع وجود الإضافات القياسية فقط، وتمت تهيئة إعدادات S3 باستخدام env: في ملف .yml. تعديل: حذفت إعدادات ENV تلك من ملف yml وأعدت بناء النظام (لم يُقم أمر destroy, start بإزالتها)، ولا تزال المشكلة قائمة.
لا أرى أي التزامات واضحة (في رأيي) قد تكون ذات صلة.
تعديل: هناك حالة تثبيت قياسية أخرى تعمل بالإصدار 2.4.0.beta8 بنفس الإعدادات وهي تعمل بشكل صحيح، مما يشير إلى أن شيئًا ما حدث بين الإصدارين beta8 و beta9. يبدو هذا وكأنه . @gerhard هل يمكن أن يكون هذا مرتبطًا بتغييرات النسخ الاحتياطي التي قمت بها؟
ملاحظة: تحققت من موقع يستخدم DigitalOcean Spaces وهو يعمل بشكل جيد للنسخ الاحتياطي.
Are you getting the error as soon as you visit /admin/backups? I didn’t change anything in that area recently, but we updated the aws-s3 gem between beta8 and beta10 from version 1.36.1 to 1.60.1. It’s possible that this doesn’t work with Google buckets anymore. Maybe you find the cause in the CHANGELOG. You could test with different versions of the gem to narrow it down.
So, by entering the container and editing Gemfile and changing
gem 'aws-sdk-s3', require: false
to versions of
gem 'aws-sdk-s3', '1.51.0', require: false
and then doing
bundle install --no-deployment
sv restart unicorn
to see if it worked or not, a binary search through the versions shows that 1.51.0 is the last version that works, so something in 1.52.0 “Feature - Adding support in SelectObjectContent for scanning a portion of an object specified by a scan range.” is where the problem began.