माइग्रेशन

Bing Maps REST Services से माइग्रेट करना

Bing Maps REST Services का रिस्पॉन्स ढाँचा आसानी से पहचाना जा सकता है: resourceSets ऐरे वाला एक शीर्ष-स्तरीय ऑब्जेक्ट, जिसके हर हिस्से में resources होते हैं, और हर resource में एक point ऑब्जेक्ट होता है जिसमें निर्देशांक अलग-अलग अक्षांश और देशांतर फ़ील्ड के बजाय एक coordinates ऐरे के अंदर नेस्टेड होते हैं। जिन डेवलपर्स ने इस पर काम किया है, अक्सर .NET टीमों में जहाँ Bing Maps स्वाभाविक पसंद था, वे यह ढाँचा ज़ुबानी जानते हैं, और किसी दूसरे ढाँचे के अनुसार दोबारा लिखना ठीक उसी तरह का चुपचाप, थकाऊ काम है जो किसी माइग्रेशन को महीनों तक कैलेंडर से बाहर रखता है।

Bing Maps Dev Center से बनाई गई कुंजी क्वेरी पैरामीटर के रूप में भेजी जाती है, और यह पैटर्न ज़्यादातर उपभोक्ता मैपिंग API में आम है। इंटीग्रेशन का यह हिस्सा आम तौर पर किसी की सबसे छोटी चिंता होता है; असली जुड़ाव रिस्पॉन्स पार्सिंग में होता है।

My Geocode एक Bing Maps कम्पैटिबिलिटी होस्ट चलाता है जो यही resourceSets ढाँचा हूबहू दोहराता है, इसलिए resourceSets[0].resources[0].point.coordinates पढ़ने वाला पार्सिंग कोड बदलाव के बाद भी काम करता रहता है। रिस्पॉन्स में सिर्फ़ कॉपीराइट, शर्तों और गोपनीयता का टेक्स्ट ही Bing के मूल ढाँचे से अलग है, जो ज़रूरी होने के कारण हमारा है। पूरा विवरण /compatibility/bing-maps/ पर है।

बदलाव करने से पहले जाँचने लायक कुछ बातें:

  • पुष्टि करें कि आपका कोड confidence या match-code फ़ील्ड पढ़ता है या नहीं, क्योंकि इनकी साथ-साथ एक जल्दी तुलना कर लेना सार्थक है
  • पुष्टि करें कि आपकी क्लाइंट लाइब्रेरी कौन सी ऑथेंटिकेशन शैली उपयोग करती है; कुंजी X-API-Key, Authorization: Bearer, HTTP Basic auth या क्वेरी पैरामीटर के रूप में भेजी जा सकती है, इसलिए आपकी लाइब्रेरी जो भी पहले से करती है वह काम करता रहना चाहिए
  • तय करें कि क्या आप mg_extras=1 के ज़रिए वैकल्पिक अतिरिक्त फ़ील्ड (ऊँचाई, IP खतरा, नेटवर्क विवरण) चालू करना चाहते हैं, क्योंकि ये सामान्य ढाँचे की जगह लेने के बजाय उसके साथ रहते हैं

तुलना में व्यावसायिक पक्ष सीधा है। बिलिंग खाता सेटअप का कोई चरण नहीं है: बिना किसी कुंजी के प्रतिदिन 2,500 अनुरोध मुफ़्त हैं, और हर कुंजी को प्रति नेटवर्क गिने जाने वाले अपने प्रतिदिन 2,500 मुफ़्त अनुरोध मिलते हैं। उस कोटा के बाद €0.0001 प्रति अनुरोध की दर से प्रीपेड क्रेडिट है या €50 प्रति माह में Unlimited कुंजी, और कम्पैटिबिलिटी होस्ट की कीमत प्लेटफ़ॉर्म के हर दूसरे एंडपॉइंट जितनी ही है।

जो टीमें किसी बड़े .NET या एंटरप्राइज़ एप्लिकेशन के हिस्से के रूप में जियोकोडिंग चलाती हैं, उनके लिए माइग्रेशन आम तौर पर बाहर से दिखने की तुलना में छोटा होता है, क्योंकि resourceSets रैपर को आम तौर पर कोडबेस में जगह-जगह बिखरे कोड के बजाय कुछ अच्छी तरह सीमित accessor मेथड के ज़रिए पढ़ा जाता है। पहले उन एक्सेस पॉइंट को ढूँढना, फिर स्टेजिंग वातावरण में उन्हें नए होस्ट पर पॉइंट करना, प्रोडक्शन ट्रैफ़िक को छूने से पहले बदलाव की पुष्टि करने का उचित तरीका है।

अगर आपका इंटीग्रेशन जियोकोडिंग के साथ Bing के समय क्षेत्र या ऊँचाई एंडपॉइंट को भी कॉल करता है, तो उन्हें अलग से संभाला जाता है, क्योंकि My Geocode के अपने timezone और elevation लुकअप जियोकोडिंग कम्पैटिबिलिटी होस्ट से स्वतंत्र रूप से काम करते हैं, और उन्हें उसी कोड रास्ते से ज़बरदस्ती गुज़ारने के बजाय अपने तरीके से जोड़ना सार्थक है। कोटा का पूरा विवरण, जिसमें X-Quota-Limit और हर अनुरोध के साथ आने वाले संबंधित रिस्पॉन्स हेडर शामिल हैं, /docs/rate-limits/ पर दर्ज है।