Data Manager API का इस्तेमाल करते समय, सीमाओं और कोटा को समझने के लिए इस गाइड को पढ़ें.
प्रोजेक्ट बनाने की सीमाएं
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संसाधन