پرش به مطلب اصلی

انتقال فایل از ابردرایو به سرور بیرونی

POST 

/api/v1/IOService/ExternalFs/Transfers/Upload

انتقال ناهمگام فایل‌ها و پوشه‌های ابردرایو را به یک سرور بیرونی آغاز می‌کند. پوشه‌ها با همه‌ی محتوایشان منتقل می‌شوند و در صورت هم‌نامی، نام مقصد به شکل name (2) درمی‌آید.

دسترسی: کاربر واردشده با Authorization و x-container (مقدار container که GET /api/v1/services/current برمی‌گرداند). اتصال‌ها و انتقال‌ها فقط برای همان کاربر دیده می‌شوند.

بدنه‌ی درخواست: connection: یا { "id": "..." } برای اتصال ذخیره‌شده، یا provider و config و secrets برای اتصالی که ذخیره نشده است؛ sources: آرایه‌ای از { "kind": "File", "id": "<fileId>" } یا { "kind": "Box", "box": "<folder path>" }؛ targetPath: پوشه‌ی مقصد نسبت به ریشه‌ی اتصال (اگر نباشد ساخته می‌شود)؛ options.verify: مقایسه‌ی اندازه پس از هر فایل (پیش‌فرض true).

رفتار ناهمگام: پاسخ 202 با کار انتقال (شامل id). پیشرفت را با GET /api/v1/IOService/ExternalFs/Transfers/{id} دنبال کنید.

خطاها: 429 با TOO_MANY_JOBS وقتی کاربر بیش از ۱۰ کار در صف دارد (قابل تنظیم روی سرور).

نکته: این قابلیت باید روی سرور روشن باشد (در غیر این صورت 404 با کد NOT_FOUND) و برای این کاربر هم فعال شده باشد (در غیر این صورت 403 با کد NOT_ENABLED). خطاها به شکل { error, code, detail } برمی‌گردند. اگر مجوز این گره قابلیت external.connect را اجازه ندهد، پاسخ 402 با کد LICENCE_RESTRICTED است.

درخواست​

پاسخ‌ها​

OK