55. رفع ملفات مضغوطة (أكثر من 6 ميغابايت)

بسبب قيود تقنية لمزود السحابة AWS، يجب تحميل الملفات الأكبر من 6 ميجابايت على خطوتين:

1. طلب رابط موقع موقّع مسبقًا للقيام بالتحميل المباشر لاحقًا.

كمُدخل:

  • نوع_الملف - مردود أو تربة أو المطبق أو applied أو حدود,

  • معرف_المزرعة (اختياري) - المعرف الفريد (UUID) للمزرعة التي سيتم استيراد الملف إليها.

كمُخرج:

  • uuid - المعرف المتوقع بعد التحميل والمعالجة،

  • معرف_المزرعة - نفس القيمة كما في المُدخل،

  • نوع_الملف - نفس القيمة كما في المُدخل،

  • رابط_s3 - عنوان URL المستخدم لتحميل الملف،

  • حقول_s3 - السمات التي يجب تمريرها في نموذج تحميل الملف.

تفاصيل كيفية استخدام رابط_s3 و حقول_s3 موضحة في الخطوة الثانية.

هذه السمات صالحة لمدة 60 دقيقة فقط لتحميل الملف.

mutation GeneratePresignedPostFileData {
  generatePresignedPostFileData(input:{
    fileType: applied
    farmUuid: "8bba5132-3a92-4ce1-8699-220e78ad68bd"
  } ) {
    uuid
    معرف_المزرعة
    نوع_الملف
    رابط_s3
    حقول_s3
  }
}

2. أرسل ملفًا محليًا إلى s3Url مع سمات النموذج المحددة مسبقًا من s3Fields.

ستُسلَّم الإشعارات المتعلقة بالمعالجة عبر آلية الاشتراك الموضحة في 1. الاشتراك: الحصول على الأحداث.

circle-info

يتضمن رأس الاستجابة Etag رأس، والذي يظهر على سبيل المثال Etag: "6fd3e76992738357ab50039f2c60024e". تُستخدم هذه القيمة لاحقًا في GraphQL query getPlatformContext لمراقبة تقدم المعالجة، وكذلك الربط مع الكيانات "Field" و"AsAppliedDataset" و"YieldDataset" و"SoilDataset".

circle-info

استخدم ‘Accept-Encoding’:’gzip, deflate, br’.

Last updated

Was this helpful?