যেহেতু গুগল ভল্ট এপিআই একটি শেয়ার্ড সার্ভিস, তাই সকল ব্যবহারকারী যেন এটি ন্যায্যভাবে ব্যবহার করে এবং গুগল ওয়ার্কস্পেস সিস্টেমের সার্বিক সুরক্ষা নিশ্চিত করতে আমরা কোটা ও সীমাবদ্ধতা প্রয়োগ করি।
পণ্যের সীমা
আপনার প্রতিষ্ঠান জুড়ে সর্বাধিক ২০টি রপ্তানি প্রক্রিয়াধীন থাকতে পারবে না।
এপিআই অনুরোধের কোটা
প্রতিটি সংস্থাকে ভল্ট এপিআই (Vault API) এবং vault.google.com-এর মাধ্যমে করা অনুরোধ সহ, সমস্ত প্রকল্প এবং ব্যবহারকারী মিলিয়ে প্রতি মিনিটে ৬০০টি বিষয় পড়ার অনুমতি দেওয়া হয়।
নিম্নলিখিত সারণিগুলিতে প্রতি মিনিটে প্রতি প্রকল্পের অনুরোধের সীমা তালিকাভুক্ত করা হয়েছে:
| প্রতি প্রকল্পে প্রতি মিনিটে পড়ার অনুরোধ | |
|---|---|
| রপ্তানি, বিষয় এবং সংরক্ষিত কোয়েরি | ১২০ |
| ধরে রাখুন | ২২৮ |
| দীর্ঘস্থায়ী অপারেশন | ৩০০ |
| প্রতি প্রজেক্টে প্রতি মিনিটে লেখার অনুরোধ | |
|---|---|
| রপ্তানি | ২০ |
| ধরে রাখুন | ৬০ |
| বিষয় অনুমতি | ৩০ |
| বিষয় | ৬০ |
| সংরক্ষিত কোয়েরি | ৪৫ |
| প্রতি প্রকল্পে প্রতি মিনিটে অনুসন্ধানের (গণনা) অনুরোধ | |
|---|---|
| অনুসন্ধানের সংখ্যা | ২০ |
পদ্ধতি অনুসারে কোটার ব্যবহার
একটি অনুরোধের জন্য ব্যবহৃত কোটা, ব্যবহৃত মেথডের উপর নির্ভর করে। নিচের সারণিতে প্রতিটি মেথডের জন্য কোটা ব্যবহারের তালিকা দেওয়া হলো:
| পদ্ধতি | কোটার খরচ |
|---|---|
matters.closematters.creatematters.deletematters.reopenmatters.updatematters.undelete | ১টি বিষয় পড়া হয়েছে ১টি বিষয় লিখুন |
matters.count | ১ গণনা |
matters.get | ১টি বিষয় পড়া হয়েছে |
matters.list | ১০টি বিষয় পড়া |
matters.addPermissionsmatters.removePermissions | ১টি বিষয় পড়া হয়েছে ১টি বিষয় লিখুন ১ বিষয় অনুমতি লেখা |
matters.exports.create | ১ রপ্তানি পড়া ১০টি রপ্তানি লেখে |
matters.exports.delete | ১ রপ্তানি লিখুন |
matters.exports.get | ১ রপ্তানি পড়া |
matters.exports.list | ৫টি রপ্তানি পঠন |
matters.holds.addHeldAccountsmatters.holds.creatematters.holds.deletematters.holds.removeHeldAccountsmatters.holds.update | ১টি বিষয় পড়া হয়েছে ১টি বিষয় লিখুন ১ হোল্ড রিড ১ ধরে লেখা |
matters.holds.list | ১টি বিষয় পড়া হয়েছে ৩টি হোল্ড রিড |
matters.holds.accounts.creatematters.holds.accounts.deletematters.holds.accounts.list | ১টি বিষয় পড়া হয়েছে ১টি বিষয় লিখুন ১ হোল্ড রিড ১ ধরে লিখুন |
matters.savedQueries.creatematters.savedQueries.delete | ১টি বিষয় পড়া হয়েছে ১টি বিষয় লিখুন ১টি সংরক্ষিত কোয়েরি পড়া হয়েছে ১টি সংরক্ষিত কোয়েরি লিখুন |
matters.savedQueries.get | ১টি বিষয় পড়া হয়েছে ১টি সংরক্ষিত কোয়েরি পড়া হয়েছে |
matters.savedQueries.list | ১টি বিষয় পড়া হয়েছে ৩টি সংরক্ষিত কোয়েরি পড়া |
operations.get | ১টি দীর্ঘ-চলমান অপারেশন পড়া হয়েছে |
সময়-ভিত্তিক কোটা ত্রুটি সমাধান করুন
আপনি যদি প্রতি-মিনিট বা প্রতি-সংস্থা কোটা অতিক্রম করেন, তাহলে সাধারণত একটি 429: Too many requests HTTP স্ট্যাটাস কোড প্রতিক্রিয়া পান।
সমস্ত সময়-ভিত্তিক ত্রুটির (প্রতি X মিনিটে সর্বোচ্চ N সংখ্যক অনুরোধ) ক্ষেত্রে, আমরা সুপারিশ করি যে আপনার কোড যেন এক্সেপশনটি ক্যাচ করে এবং একটি ট্রাঙ্কেটেড এক্সপোনেনশিয়াল ব্যাকঅফ ব্যবহার করে, যাতে আপনার ডিভাইসগুলো অতিরিক্ত লোড তৈরি না করে।
এক্সপোনেনশিয়াল ব্যাকঅফ হলো নেটওয়ার্ক অ্যাপ্লিকেশনগুলির জন্য একটি আদর্শ ত্রুটি পরিচালনা কৌশল। একটি এক্সপোনেনশিয়াল ব্যাকঅফ অ্যালগরিদম একটি সর্বোচ্চ ব্যাকঅফ সময় পর্যন্ত, অনুরোধগুলির মধ্যে সূচকীয়ভাবে ক্রমবর্ধমান অপেক্ষার সময় ব্যবহার করে অনুরোধগুলি পুনরায় চেষ্টা করে। যদি অনুরোধগুলি তখনও অসফল হয়, তবে অনুরোধটি সফল না হওয়া পর্যন্ত সময়ের সাথে সাথে অনুরোধগুলির মধ্যে বিলম্ব বাড়ানো গুরুত্বপূর্ণ।
উদাহরণ অ্যালগরিদম
একটি এক্সপোনেনশিয়াল ব্যাকঅফ অ্যালগরিদম অনুরোধগুলোকে সূচকীয় হারে পুনরায় চেষ্টা করে, এবং একটি সর্বোচ্চ ব্যাকঅফ সময় পর্যন্ত পুনরায় চেষ্টার মধ্যবর্তী অপেক্ষার সময় বাড়িয়ে দেয়। উদাহরণস্বরূপ:
- গুগল ভল্ট এপিআই-তে একটি অনুরোধ পাঠান।
- অনুরোধটি ব্যর্থ হলে, 1 +
random_number_millisecondsঅপেক্ষা করুন এবং অনুরোধটি পুনরায় চেষ্টা করুন। - অনুরোধটি ব্যর্থ হলে, 2 +
random_number_millisecondsঅপেক্ষা করুন এবং অনুরোধটি পুনরায় চেষ্টা করুন। - অনুরোধটি ব্যর্থ হলে, 4 +
random_number_millisecondsঅপেক্ষা করুন এবং অনুরোধটি পুনরায় চেষ্টা করুন। - এবং এভাবেই চলতে থাকে, একটি
maximum_backoffসময় পর্যন্ত। - একটি নির্দিষ্ট সর্বোচ্চ সংখ্যক বার পর্যন্ত অপেক্ষা করতে ও পুনরায় চেষ্টা করতে থাকুন, কিন্তু দুটি চেষ্টার মধ্যবর্তী অপেক্ষার সময়কাল বাড়াবেন না।
যেখানে:
- অপেক্ষার সময় হলো
min(((2^n)+random_number_milliseconds), maximum_backoff), যেখানে প্রতিটি ইটারেশন (অনুরোধ)-এর জন্যnমান ১ করে বৃদ্ধি পায়। -
random_number_millisecondsহলো ১,০০০ বা তার কম মিলিসেকেন্ডের একটি র্যান্ডম সংখ্যা। এটি এমন পরিস্থিতি এড়াতে সাহায্য করে যেখানে অনেক ক্লায়েন্ট কোনো একটি কারণে সিনক্রোনাইজড হয়ে যায় এবং সবাই একযোগে পুনরায় চেষ্টা করে, অর্থাৎ সিনক্রোনাস তরঙ্গে অনুরোধ পাঠায়। প্রতিটি পুনঃপ্রচেষ্টার অনুরোধের পরrandom_number_millisecondsএর মান পুনরায় গণনা করা হয়। -
maximum_backoffসাধারণত ৩২ বা ৬৪ সেকেন্ড হয়ে থাকে। এর উপযুক্ত মান ব্যবহারের ধরনের ওপর নির্ভর করে।
ক্লায়েন্ট maximum_backoff সময়টিতে পৌঁছানোর পরেও পুনরায় চেষ্টা চালিয়ে যেতে পারে। এই সময়ের পরে পুনরায় চেষ্টার জন্য ব্যাকঅফ সময় আর বাড়ানোর প্রয়োজন নেই। উদাহরণস্বরূপ, যদি কোনো ক্লায়েন্ট ৬৪ সেকেন্ডের maximum_backoff সময় ব্যবহার করে, তবে এই মানে পৌঁছানোর পর ক্লায়েন্টটি প্রতি ৬৪ সেকেন্ড পর পর পুনরায় চেষ্টা করতে পারে। একটি নির্দিষ্ট পর্যায়ে, ক্লায়েন্টদের অনির্দিষ্টকালের জন্য পুনরায় চেষ্টা করা থেকে বিরত রাখা উচিত।
পুনরায় চেষ্টার মধ্যবর্তী অপেক্ষার সময় এবং পুনরায় চেষ্টার সংখ্যা আপনার ব্যবহারের ধরণ এবং নেটওয়ার্ক অবস্থার উপর নির্ভর করে।
কোটা বৃদ্ধির জন্য অনুরোধ করুন
আপনার প্রকল্পের রিসোর্স ব্যবহারের উপর নির্ভর করে, আপনি কোটা সমন্বয়ের জন্য অনুরোধ করতে চাইতে পারেন। একটি সার্ভিস অ্যাকাউন্ট দ্বারা করা এপিআই কলগুলোকে একটি একক অ্যাকাউন্ট হিসেবে বিবেচনা করা হয়। সমন্বয়কৃত কোটার জন্য আবেদন করলেই যে তা অনুমোদিত হবে, এমন কোনো নিশ্চয়তা নেই। যে কোটা সমন্বয়ের অনুরোধগুলো কোটার পরিমাণ উল্লেখযোগ্যভাবে বৃদ্ধি করবে, সেগুলো অনুমোদিত হতে বেশি সময় লাগতে পারে।
সব প্রোজেক্টের কোটা এক নয়। সময়ের সাথে সাথে আপনার গুগল ক্লাউডের ব্যবহার বাড়ার সাথে সাথে আপনার কোটার পরিমাণও বৃদ্ধি করার প্রয়োজন হতে পারে। যদি আপনি ভবিষ্যতে ব্যবহারের উল্লেখযোগ্য বৃদ্ধি প্রত্যাশা করেন, তবে আপনি গুগল ক্লাউড কনসোলের 'Quotas & System Limits' পেজ থেকে আগে থেকেই কোটা সমন্বয়ের জন্য অনুরোধ করতে পারেন।
আরও জানতে, নিম্নলিখিত উৎসগুলো দেখুন:
মূল্য নির্ধারণ
Google Workspace গ্রাহকরা কোনো অতিরিক্ত খরচ ছাড়াই Google Vault API ব্যবহার করতে পারেন।