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

یافتن نشانی گره‌ی کاربر

POST 

/Selection/Assign/:email

هر کاربر ابردرایو به یک گره (سرور ذخیره‌سازی) سپرده می‌شود و همه‌ی درخواست‌های /api/v1/... او باید به نشانی همان گره برود. این درخواست گره‌ی کاربر را برمی‌گرداند و اگر کاربر هنوز گره‌ای ندارد، یکی به او می‌سپارد. پیش از هر فراخوانی دیگر، یک بار پس از ورود این را صدا بزنید.

این درخواست مستقیم به سرور سراسری (اصلی) فرستاده می‌شود، یعنی https://nb.<base-domain>، نه به نشانی گره.

دسترسی: کاربر واردشده با سرآیند Authorization: Bearer <token> (توکن صادرشده توسط سرور ورود ابردرایو). email ایمیل همان کاربر است و باید دقیقاً با ادعای email توکن یکی باشد؛ در غیر این صورت پاسخ 401 است.

بدنه‌ی درخواست: ندارد.

پاسخ: 200 با { "url": "...", "companionUrl": "...", "name": "..." }.

  • url: نشانی پایه‌ی دروازه‌ی API گره (مثلاً https://apigateway.n2.example.com). همه‌ی مسیرهای /api/v1/... این مستندات را به این نشانی بچسبانید.
  • companionUrl: نشانی سرویس بارگذاری همان گره، برای بارگذاری فایل‌های بزرگ.
  • name: نام کوتاه گره (مثلاً n1).

اگر گره‌ی کاربر از فهرست گره‌ها حذف شده باشد، فقط url مقدار دارد و companionUrl و name برابر null هستند.

رفتار: سپردن گره دائمی است: کاربری که گره دارد همیشه همان گره را می‌گیرد. کاربر تازه با نوبت‌دهی وزنی میان گره‌هایی که مجوز نام برده تقسیم می‌شود.

خطاها: 401 بدون توکن یا وقتی email با ایمیل توکن یکی نباشد. 503 با { "error": "..." } وقتی هیچ گره‌ای ثبت نشده. 503 با { "code": "NO_LICENSED_NODE", "error": "..." } وقتی مجوز هیچ‌یک از گره‌ها را نام نبرده؛ این را به مدیر سامانه اطلاع دهید.

نکته: پاسخ سرآیند Cache-Control: private با عمر ۳۵۶ روز دارد و نتیجه برای کاربر تغییر نمی‌کند؛ برنامه‌ی وب ابردرایو آن را یک بار در هر ورود می‌گیرد و نگه می‌دارد. شما هم نتیجه را نگه دارید و برای هر درخواست دوباره نپرسید. این مسیر حتی وقتی مجوز معتبر نیست یا منقضی شده پاسخ می‌دهد.

درخواست​

پاسخ‌ها​

OK