इस दस्तावेज़ में, एपीआई कॉल को एक साथ बैच करने का तरीका बताया गया है. इससे, करने के लिए आपके क्लाइंट के बीच ज़रूरी कनेक्शन होते हैं. बैच बनाने से किसी ऐप्लिकेशन की नेटवर्क की दोतरफ़ा यात्रा को कम करके और थ्रूपुट को बढ़ाकर क्षमता को बढ़ाएं.
खास जानकारी
आपका क्लाइंट हर कनेक्शन, ओवरहेड की एक तय रकम से नतीजे देता है. Google Slides API, एक साथ कई बैच बनाने की सुविधा देता है, ताकि आपके क्लाइंट एक से ज़्यादा पा सकें अनुरोध के लिए ऑब्जेक्ट, जिनमें से हर एक करने के लिए एक ही तरह के अनुरोध के बारे में बताता है, को एक बैच अनुरोध में बदल देता है. एक साथ कई अनुरोध करने पर, परफ़ॉर्मेंस बेहतर हो सकती है. इसके लिए: कई सबअनुरोधों को जोड़कर सर्वर को एक कॉल करें, ताकि डेटा हासिल किया जा सके एक ही जवाब मिला.
हम उपयोगकर्ताओं को सलाह देते हैं कि वे कई अनुरोधों को हमेशा एक साथ इकट्ठा करें. यहां कुछ उन स्थितियों के उदाहरण जहां एक साथ कई बैच बनाने की सुविधा का इस्तेमाल किया जा सकता है:
- आपने अभी-अभी एपीआई का इस्तेमाल करना शुरू किया है और आपके पास अपलोड करने के लिए बहुत सारा डेटा है.
- आपको कई फ़ाइलों पर मेटाडेटा या प्रॉपर्टी, जैसे कि फ़ॉर्मैटिंग को अपडेट करना होगा ऑब्जेक्ट हैं.
- आपको कई ऑब्जेक्ट मिटाने होंगे.
सीमाएं, अनुमति, और डिपेंडेंसी से जुड़ी ज़रूरी बातें
बैच अपडेट करते समय ध्यान रखने लायक अन्य आइटम की सूची यहां दी गई है:
- बैच में किए जाने वाले हर अनुरोध को एक एपीआई के तौर पर गिना जाता है. इसमें सभी सब-अनुरोध भी शामिल होते हैं इस्तेमाल करने की सीमा के मुताबिक अनुरोध करें.
- बैच अनुरोध की एक बार पुष्टि की जाती है. पुष्टि करने की सिर्फ़ एक सुविधा लागू होती है अनुरोध में मौजूद सभी बैच अपडेट ऑब्जेक्ट में.
- सर्वर सब-अनुरोधों को उसी क्रम में प्रोसेस करता है जिस क्रम में वे एक साथ कई अनुरोध करने की सुविधा मिलती है. बाद में सबमिट किए जाने वाले सब-अनुरोध, इस दौरान की गई कार्रवाइयों पर निर्भर करते हैं पिछले उप-अनुरोधों को स्वीकार नहीं किया गया है. उदाहरण के लिए, एक ही बैच अनुरोध में, उपयोगकर्ता ये काम कर सकते हैं: किसी मौजूदा दस्तावेज़ में टेक्स्ट डालें और फिर उसे स्टाइल दें.
बैच की जानकारी
एक बैच अनुरोध में एक batchUpdate
तरीका कॉल शामिल है
में, प्रज़ेंटेशन को जोड़ें और फ़ॉर्मैट करें.
हर अनुरोध को लागू किए जाने से पहले उसकी पुष्टि की जाती है. बैच में सभी सब-अनुरोध अपडेट अपने-आप लागू हो जाते हैं. इसका मतलब है कि अगर कोई अनुरोध मान्य नहीं है, तो पूरा अपडेट सफल नहीं होता और इनमें से कोई भी (संभावित रूप से निर्भर) नहीं होता बदलाव लागू किए जाते हैं.
कुछ अनुरोध, लागू किए गए अनुरोधों के बारे में जानकारी के साथ जवाब देते हैं. उदाहरण के लिए, ऑब्जेक्ट जोड़ने के सभी बैच अपडेट के अनुरोध रिस्पॉन्स दिखाते हैं जोड़े गए नए ऑब्जेक्ट का मेटाडेटा ऐक्सेस किया जा सकता है, जैसे कि आईडी या टाइटल.
इस तरीके से, एक एपीआई का इस्तेमाल करके पूरा Google दस्तावेज़ बनाया जा सकता है कई सब-अनुरोधों के साथ बैच अपडेट करने का अनुरोध.
बैच रिक्वेस्ट का फ़ॉर्मैट
अनुरोध एक JSON अनुरोध होता है जिसमें कई,
एक ज़रूरी प्रॉपर्टी के साथ नेस्ट किए गए सब अनुरोध: requests
. कॉन्टेंट बनाने
अनुरोधों को अलग-अलग अनुरोधों की श्रेणी में बनाया जाता है. हर अनुरोध का इस्तेमाल,
JSON फ़ाइल, जिसका इस्तेमाल अनुरोध ऑब्जेक्ट को दिखाने और उसकी प्रॉपर्टी को शामिल करने के लिए किया जाता है.
बैच रिस्पॉन्स का फ़ॉर्मैट
बैच अनुरोध का response फ़ॉर्मैट अनुरोध प्रारूप में शामिल है. सर्वर के जवाब में एक ही जवाब का पूरा जवाब होता है रिस्पॉन्स ऑब्जेक्ट है.
JSON के मुख्य ऑब्जेक्ट की प्रॉपर्टी का नाम replies
है. जवाब
एक कलेक्शन में दिखाए जाते हैं. एक लाइन में, किसी एक अनुरोध का हर जवाब दिखता है
आपका इंडेक्स क्रम, संबंधित अनुरोध से मेल खाता हो. कुछ अनुरोधों के पास कोई
और उस अरे इंडेक्स में कोई रिस्पॉन्स खाली है.
उदाहरण
नीचे दिया गया कोड सैंपल, Slides का एपीआई.
अनुरोध
बैच रिक्वेस्ट के इस उदाहरण में, ये काम करने का तरीका बताया गया है:
जोड़ें
presentations.pages
किसी मौजूदा प्रज़ेंटेशन के लिए संसाधन, जिसमेंinsertionIndex
का1
इस्तेमाल हो यहCreateSlideRequest
तरीका.नई स्लाइड में
TEXT_BOX
प्रकार काshapeType
जोड़ेंCreateShapeRequest
तरीका."सभी को नमस्ते" शब्द डालें टेक्स्ट को फिर से शुरू करने के लिए
InsertTextRequest
तरीका.
{ "requests":[ { "createSlide":{ "insertionIndex":1, "objectId":"newSlide" } }, { "createShape":{ "elementProperties":{ "pageObjectId":"newSlide", "size":{ "height":{ "magnitude":50, "unit":"PT" }, "width":{ "magnitude":200, "unit":"PT" } } }, "shapeType":"TEXT_BOX", "objectId":"newTextBox" } }, { "insertText":{ "objectId":"newTextBox", "text":"Hello World" } } ] }
जवाब
बैच रिस्पॉन्स का यह उदाहरण, इसमें यह जानकारी दिखाता है कि किस तरह से
बैच रिक्वेस्ट लागू किया गया. ध्यान दें:
InsertTextRequest
तरीके में कोई रिस्पॉन्स नहीं है, इसलिए [2] पर अरे की इंडेक्स वैल्यू
इसमें खाली कर्ली ब्रैकेट होते हैं. बैच अनुरोध यह दिखाता है कि
WriteControl
प्रॉपर्टी, जिससे पता चलता है कि लिखने के अनुरोध कैसे किए गए थे.
{ "requiredRevisionId": ID "presentationId": "", "replies":[ { "createSlide":{ "objectId":"newSlide" } }, { "createShape":{ "objectId":"newTextBox" } }, { } ], "writeControl":{ "requiredRevisionId": REVISION_ID } }