Device Access পরিবেশ এবং বাণিজ্যিক প্রস্তাবের ধরনের ওপর নির্ভর করে প্রকল্পগুলো ব্যবহারকারী, কাঠামো এবং হারের সীমা দ্বারা সীমাবদ্ধ থাকে।
আমরা চাই ডেভেলপাররা আকর্ষণীয় ইউজার এক্সপেরিয়েন্স তৈরি করুক, কিন্তু আমরা এটাও চাই যে নেস্ট সার্ভিস এবং ডিভাইসগুলো ব্যবহারকারীর জন্য সবসময় উপলব্ধ থাকুক। যে ইন্টিগ্রেশনগুলো একটি নির্দিষ্ট সময়ে প্রচুর সংখ্যক রিকোয়েস্ট পাঠায়, সেগুলো সার্ভিস এবং ডিভাইসের প্রাপ্যতাকে প্রভাবিত করতে পারে, তাই SDM API রেট লিমিট প্রয়োগ করে। রেট লিমিটিং একটি নির্দিষ্ট সময়কালের জন্য API কলের সংখ্যা সীমিত করে এবং রিসোর্সের অতিরিক্ত ব্যবহার প্রতিরোধ করে।
পরিবেশগত সীমাবদ্ধতা
সমস্ত প্রজেক্ট স্যান্ডবক্স এনভায়রনমেন্টে শুরু হয়। স্যান্ডবক্সটি এসডিএম এপিআই-এর মূল্যায়ন এবং ব্যক্তিগত ব্যবহারের জন্য তৈরি, এবং সেই অনুযায়ী এর সীমাবদ্ধতা সীমিত। কমার্শিয়াল ডেভেলপমেন্ট- এর মতো বৃহত্তর ব্যবহারকারী-ভিত্তিক এনভায়রনমেন্টগুলোর সীমাবদ্ধতা ভিন্ন।
স্যান্ডবক্স ব্যবহারকারীর সীমা
স্যান্ডবক্সের একটি ডেভেলপার অ্যাকাউন্ট সমস্ত প্রজেক্ট জুড়ে ৫টি স্ট্রাকচারে সর্বোচ্চ ২৫ জন ব্যবহারকারীকে অনুমতি দেয়। প্রতি অ্যাকাউন্টে সর্বোচ্চ ৩টি প্রজেক্ট ব্যবহার করা যায়।
প্রতিটি স্ট্রাকচারে সর্বোচ্চ ৫ জন ব্যবহারকারী থাকতে পারবে, তাই যখন ৫টি স্ট্রাকচারের প্রতিটিতে ৫ জন করে ব্যবহারকারী পূর্ণ হয়ে যাবে, তখনই কেবল ব্যবহারকারীর সীমা পূরণ হবে। ডেভেলপার অ্যাকাউন্ট (যেটি প্রজেক্টটির মালিক) কোনো স্ট্রাকচারের জন্য নির্ধারিত ৫ জন ব্যবহারকারীর সীমার মধ্যে গণ্য হবে না।
বিপরীতভাবে, যদি কোনো প্রকল্পে ৫টি কাঠামো জুড়ে ১৫ জন ব্যবহারকারী থাকে, তবে অতিরিক্ত ব্যবহারকারীদের শুধুমাত্র বিদ্যমান ৫টি কাঠামোতেই যুক্ত করা যাবে, কারণ কাঠামোর সীমা ইতিমধ্যেই পূর্ণ হয়ে গেছে।
স্যান্ডবক্স হারের সীমা
স্যান্ডবক্সটি ৩টি ভিন্ন স্তরে রেট লিমিটেড করা আছে। অন্যথায় উল্লেখ না থাকলে, সীমা প্রতি মিনিটে কোয়েরি (QPM) হিসাবে সেট করা হয়।
এপিআই স্তর
প্রতিটি প্রজেক্ট ও ব্যবহারকারীর জন্য এপিআই কলের সংখ্যা সীমিত। প্রতিটি মেথড সম্পর্কে আরও তথ্যের জন্য এপিআই রেফারেন্স দেখুন।
| এপিআই পদ্ধতি | হারের সীমা |
|---|---|
devices.executeCommand | ১০ কিউপিএম |
devices.get | ১০ কিউপিএম |
devices.list | ৫ কিউপিএম |
structures.get | ৫ কিউপিএম |
structures.list | ৫ কিউপিএম |
structures.rooms.get | ৫ কিউপিএম |
structures.rooms.list | ৫ কিউপিএম |
কমান্ড স্তর
প্রতিটি ট্রেইট কমান্ড ( devices.executeCommand ) প্রতি প্রজেক্ট, প্রতি ব্যবহারকারী এবং প্রতি ডিভাইসের জন্য ৫ QPM-এ সীমাবদ্ধ।
এর মানে হলো, যদি কোনো প্রজেক্টে ২ জন ব্যবহারকারীর প্রত্যেকের ২টি করে ডিভাইস থাকে (মোট ৪টি ডিভাইস), তাহলে সেই ৪টি ডিভাইসের প্রতিটির জন্য এক মিনিটে একই কমান্ড ৫ বার কল করা যেতে পারে।
তবে, যদি একটি প্রজেক্টে ২ জন ব্যবহারকারীর প্রত্যেকের ৩টি করে মোট ৬টি ডিভাইস থাকে, তাহলে সেই ৬টি ডিভাইসের প্রতিটির জন্য এক মিনিটে একই কমান্ড ৫ বার কল করা যাবে না । এর ফলে প্রত্যেক ব্যবহারকারীর জন্য ১৫ QPM খরচ হবে, যেখানে একটি প্রজেক্টের ব্যবহারকারীর জন্য devices.executeCommand API লেভেলের রেট লিমিট হলো ১০ QPM।
ডিভাইস ইনস্ট্যান্স স্তর
এছাড়াও, ডিভাইসের ব্যাটারি সুরক্ষার জন্য প্রজেক্ট এবং কমান্ড ( devices.executeCommand ) জুড়ে ডিভাইস ইনস্ট্যান্স স্তরের সীমা প্রয়োগ করা হয়। এই সীমাগুলো QPM (কোয়ালিটি পার মিনিট) এবং প্রতি ঘন্টায় কোয়েরি (QPH) উভয় স্তরেই প্রযোজ্য এবং get ও list API মেথডগুলোর ক্ষেত্রে প্রযোজ্য নয়।
উদাহরণস্বরূপ, ধরা যাক প্রজেক্ট A এবং প্রজেক্ট B উভয়েরই একই ডিভাইস, ডিভাইস A-তে অ্যাক্সেস আছে (হতে পারে ব্যবহারকারী দুটি ভিন্ন বাণিজ্যিক ইন্টিগ্রেশনকে অনুমোদন দিয়েছেন যা একই ডিভাইস ব্যবহার করে)। যদি প্রজেক্ট A এক মিনিটের মধ্যে ডিভাইস A-তে ৪টি কমান্ড পাঠায়, তাহলে ডিভাইস ইনস্ট্যান্স লেভেলের রেট লিমিট শেষ হওয়ার আগে প্রজেক্ট B সেই একই মিনিটে ডিভাইস A-তে মাত্র ১টি কমান্ড পাঠাতে পারবে। সেই মুহূর্তে, ডিভাইস A-তে প্রথম কমান্ডটি পাঠানোর মাধ্যমে শুরু হওয়া মিনিটটি শেষ না হওয়া পর্যন্ত উভয় প্রজেক্ট থেকে ডিভাইস A-তে পাঠানো কমান্ডের গতি সীমিত করে দেওয়া হয়।
যদি কোনো ডিভাইসের ধরন নিচে তালিকাভুক্ত না থাকে, তবে সেটির জন্য ডিভাইস ইনস্ট্যান্স লেভেল রেট লিমিট প্রযোজ্য নয়।
| ডিভাইসের ধরন | ডিভাইস ইনস্ট্যান্স রেট সীমা |
|---|---|
| থার্মোস্ট্যাট | ৫ কিউপিএম বা ১০০ কিউপিএইচ |
| ক্যামেরা | ৩০ কিউপিএম বা ১০০ কিউপিএইচ |
| দরজার ঘণ্টা | ৩০ কিউপিএম বা ১০০ কিউপিএইচ |
ত্রুটি
এই নির্দেশিকার সাথে সম্পর্কিত নিম্নলিখিত ত্রুটি কোড(গুলি) প্রদর্শিত হতে পারে:
| ত্রুটি বার্তা | আরপিসি | সমস্যা সমাধান |
|---|---|---|
| রেট সীমিত। | RESOURCE_EXHAUSTED | প্রতিটি ডেভেলপারের একটি কোটা থাকে, যা তারা কতগুলো কল করতে পারবে তা সীমিত করে। আপনি যদি আপনার কোটার চেয়ে বেশি কল করেন, তাহলে আপনি ‘রেট লিমিটেড’ বার্তাটি পাবেন। এর সমাধান করতে, কোটার মেয়াদ শেষ হয়ে গেলে কলটি পুনরায় জমা দিন। |
এপিআই ত্রুটি কোডগুলির সম্পূর্ণ তালিকার জন্য এপিআই ত্রুটি কোড রেফারেন্স দেখুন।