Data Manager API का इस्तेमाल करते समय, सीमाओं और कोटा के बारे में जानने के लिए, यह गाइड पढ़ें.
प्रोजेक्ट बनाने की सीमाएं
डेटा मैनेजर एपीआई का इस्तेमाल करने के लिए, आपके पास Google Cloud प्रोजेक्ट होना चाहिए. Google Cloud प्रोजेक्ट, OAuth क्लाइंट और क्रेडेंशियल उपलब्ध कराता है. इनका इस्तेमाल, एपीआई अनुरोधों की पुष्टि करने के लिए किया जाता है.
डेटा मैनेजर एपीआई, हर Google Cloud प्रोजेक्ट पर अनुरोध संख्या सीमित करने की सुविधा लागू करता है. इसे सेवा और कार्रवाई के टाइप (रीड बनाम म्यूटेट) के हिसाब से अलग किया जाता है:
| सेवा | कार्रवाई | हर दिन मिलने वाले अनुरोध | हर मिनट मिलने वाले अनुरोध |
|---|---|---|---|
IngestionService |
बदलाव (लिखें) | 1,00,000 | 300 |
IngestionService |
पढ़ें | 1,00,000 | 300 |
| अन्य सभी सेवाएं एक साथ | बदलाव (लिखें) | 50,000 | 300 |
| अन्य सभी सेवाएं एक साथ | पढ़ें | 50,000 | 300 |
तय सीमा से ज़्यादा अनुरोधों को अस्वीकार कर दिया जाता है. साथ ही, गड़बड़ी का कोड RESOURCE_EXHAUSTED और एचटीटीपी स्टेटस 429 Too Many Requests दिखता है.
अपने ऐप्लिकेशन को कंट्रोल किया जा सकता है और अनुरोध संख्या सीमित करने की समस्या को कम किया जा सकता है. इसके लिए, अनुरोधों की संख्या कम करें और क्लाइंट साइड से क्यूपीएस को थ्रॉटल करें. Google Cloud Console में, कोटा से जुड़ी सूचनाएं और मॉनिटरिंग भी सेट अप की जा सकती है. इससे, ऐप्लिकेशन की तय सीमाएं पूरी होने से पहले आपको सूचनाएं मिलेंगी.
कोटा के नाम
हर सीमा, Google Cloud में कोटा सीमा के नाम और मेट्रिक से जुड़ी होती है. जब कोई अनुरोध तय सीमा से ज़्यादा होता है, तो Data Manager API, metadata.quota_limit में मौजूद ErrorInfo स्टैंडर्ड जानकारी वाले पेलोड में कोटे की सीमा का नाम दिखाता है:
| कोटे की सीमा का नाम | सेवा | कार्रवाई | विंडो | सीमा |
|---|---|---|---|---|
IngestionMutateRequestsPerDayPerProject |
IngestionService |
बदलाव | दिन | 1,00,000 |
IngestionMutateRequestsPerMinutePerProject |
IngestionService |
बदलाव | मिनट | 300 |
IngestionReadRequestsPerDayPerProject |
IngestionService |
पढ़ें | दिन | 1,00,000 |
IngestionReadRequestsPerMinutePerProject |
IngestionService |
पढ़ें | मिनट | 300 |
ManagementMutateRequestsPerDayPerProject |
अन्य सभी सेवाएं | बदलाव | दिन | 50,000 |
ManagementMutateRequestsPerMinutePerProject |
अन्य सभी सेवाएं | बदलाव | मिनट | 300 |
ManagementReadRequestsPerDayPerProject |
अन्य सभी सेवाएं | पढ़ें | दिन | 50,000 |
ManagementReadRequestsPerMinutePerProject |
अन्य सभी सेवाएं | पढ़ें | मिनट | 300 |
ErrorInfo पेलोड में metadata.quota_limit की जांच करें, ताकि हर दिन और हर मिनट की सीमा से जुड़ी गड़बड़ियों के बीच अंतर किया जा सके. साथ ही, यह तय किया जा सके कि कुछ समय के लिए रुकना है और बैकऑफ़ के साथ फिर से कोशिश करनी है या हर दिन का कोटा रीसेट होने तक रुकना है.
ज़्यादा जानकारी के लिए, कोटा और अनुरोध संख्या सीमित करने से जुड़ी गड़बड़ियां लेख पढ़ें.
अनुरोध संख्या सीमित करने और एक साथ कई टास्क करने की सुविधा को मैनेज करना
प्रोजेक्ट के कोटे से ज़्यादा इस्तेमाल किए बिना, थ्रूपुट को बढ़ाने के लिए, इन दिशा-निर्देशों का पालन करें:
हर अनुरोध में बैच रिकॉर्ड: हर अनुरोध में ज़्यादा से ज़्यादा रिकॉर्ड शामिल करें. हालांकि, यह संख्या अनुरोध की सीमाओं के मुताबिक होनी चाहिए. जैसे, हर अनुरोध में ज़्यादा से ज़्यादा 10,000
AudienceMemberसंसाधन या 2,000Eventसंसाधन शामिल किए जा सकते हैं.एक साथ ज़्यादा से ज़्यादा 10 अनुरोध भेजें: डेटा डालने में लगने वाले कुल समय को कम करने के लिए,
IngestionServiceपर एक साथ ज़्यादा से ज़्यादा 10 अनुरोध भेजें. हालांकि, ध्यान रखें कि हर मिनट में 300 से ज़्यादा अनुरोध न भेजे जाएं.बैकऑफ़ के साथ, हर मिनट के हिसाब से अनुरोध संख्या सीमित करने की सुविधा को फिर से आज़माना: अगर कोई अनुरोध
RESOURCE_EXHAUSTED(एचटीटीपी429) के साथ पूरा नहीं हो पाता है औरmetadata.quota_limitसे हर मिनट की सीमा (जैसे किIngestionMutateRequestsPerMinutePerProject) का पता चलता है, तो जिटर के साथ एक्स्पोनेंशियल बैकऑफ़ का इस्तेमाल करके फिर से कोशिश करें. उदाहरण के लिए, फिर से कोशिश करने के बीच एक सेकंड, दो सेकंड, और चार सेकंड इंतज़ार करना.रोज़ाना के कोटे के खत्म होने पर रुकें: अगर
metadata.quota_limitसे रोज़ाना इस्तेमाल की समयसीमा (जैसे किIngestionMutateRequestsPerDayPerProject) का पता चलता है, तो तुरंत फिर से कोशिश न करें. अनुरोधों को तब तक रोकें, जब तक कि हर दिन का कोटा पैसिफ़िक टाइम के मुताबिक आधी रात को रीसेट न हो जाए.
अनुरोध करने की सीमाएं
यहां कुछ खास अनुरोधों की सीमाएं दी गई हैं:
IngestAudienceMembersRequestऔरRemoveAudienceMembersRequest:audience_membersसूची में 10,000AudienceMemberसंसाधनAudienceMemberके लिए,UserDataमें 10 यूज़र आइडेंटिफ़ायरdestinationsकी सूची में 10Destinationसंसाधन
RemoveAllAudienceMembersRequest:destinationsकी सूची में 10Destinationसंसाधन
-
eventsसूची में 2,000EventसंसाधनEventके लिए,UserDataमें 10 यूज़र आइडेंटिफ़ायरdestinationsकी सूची में 10Destinationसंसाधन