सेवा खाता, असली उपयोगकर्ता के बजाय किसी ऐप्लिकेशन से जुड़ा खाता होता है. अगर कोई ऐप्लिकेशन डेवलप किया जा रहा है या REST API का इस्तेमाल किया जा रहा है, तो आपको Earth Engine की पुष्टि करने के लिए सेवा खाते का इस्तेमाल करना पड़ सकता है. सेवा खातों की मदद से पुष्टि करने के बारे में ज़्यादा जानें.
सेवा खाता बनाना
अगर आपने पहले से Google Cloud प्रोजेक्ट नहीं बनाया है, तो बनाएं.
अपने Cloud प्रोजेक्ट के लिए सेवा खातों को मैनेज करने के लिए, Cloud Console मेन्यू (सेवा खाते को चुनें. (अगर कहा जाए, तो प्रोजेक्ट चुनें.)
) पर जाएं और आईएएम और एडमिन >नया सेवा खाता बनाने के लिए, + सेवा खाता बनाएं लिंक पर क्लिक करें.
अगर आपने कोई App Engine प्रोजेक्ट बनाया है, तो हो सकता है कि आपके पास उस प्रोजेक्ट के लिए पहले से ही कोई डिफ़ॉल्ट सेवा खाता (App Engine का डिफ़ॉल्ट सेवा खाता) हो. अगर कोई App Engine प्रोजेक्ट सेट अप किया जा रहा है, तो सेवा खाते की भूमिका के लिए, प्रोजेक्ट > एडिटर चुनें.
सेवा खाते के लिए निजी कुंजी बनाना
सेवा खाता बनाने के बाद, उस खाते के मेन्यू (
) पर क्लिक करें. इसके बाद, कुंजी बनाएं > JSON पर क्लिक करें. JSON फ़ॉर्मैट में मौजूद कुंजी की फ़ाइल डाउनलोड करें.अपनी पासकोड फ़ाइल को सुरक्षित रखना
कुंजी फ़ाइल एक खास फ़ाइल होती है. इसकी मदद से, प्रोग्राम आपके सेवा खाते की ओर से Google API ऐक्सेस कर सकते हैं. पक्का करें कि कोई भी व्यक्ति बिना अनुमति के इसे ऐक्सेस न कर पाए, क्योंकि वह आपकी ओर से Google API को ऐक्सेस कर सकता है. अपनी निजी कुंजी को कभी भी सार्वजनिक जगह पर सेव न करें. जैसे, शेयर किए गए फ़ोल्डर या सोर्स रिपॉज़िटरी. अगर आपने अपनी निजी कुंजी खो दी है, तो Cloud Console का इस्तेमाल करके, किसी सेवा खाते का ऐक्सेस आसानी से वापस लिया जा सकता है और नया खाता बनाया जा सकता है. ज़्यादा जानकारी के लिए, यह गाइड देखें.
Earth Engine का इस्तेमाल करने के लिए, सेवा खाता रजिस्टर करना
सभी सेवा खाते, किसी Cloud प्रोजेक्ट में बनाए जाते हैं. यह प्रोजेक्ट, आपके App Engine ऐप्लिकेशन या Cloud VM के लिए इस्तेमाल किए गए प्रोजेक्ट से मेल खा सकता है. पक्का करें कि Earth Engine को ऐक्सेस करने के लिए, Cloud प्रोजेक्ट रजिस्टर किया गया हो. साथ ही, यह भी पक्का करें कि प्रोजेक्ट में Earth Engine API चालू हो. प्रोजेक्ट में मौजूद जिन सेवा खातों के पास सही अनुमतियां होंगी उनके पास Earth Engine का ऐक्सेस होगा. इसके लिए, उन्हें अलग से रजिस्टर करने की ज़रूरत नहीं है.
ध्यान दें कि अब सेवा खाते को अलग से रजिस्टर नहीं किया जा सकता. इसके लिए, आपको Cloud प्रोजेक्ट को रजिस्टर करना होगा.
निजी कुंजी वाले सेवा खाते का इस्तेमाल करना
सेवा खाते का इस्तेमाल करके, Earth Engine में पुष्टि करने के लिए:
- सेवा खाते के लिए, JSON निजी पासकोड फ़ाइल (
.private-key.json
) बनाएं और डाउनलोड करें. .private-key.json
फ़ाइल को जहां भी रखा गया है वहां से, नीचे दिए गए Python कोड की जांच करें:import ee service_account = 'my-service-account@...gserviceaccount.com' credentials = ee.ServiceAccountCredentials(service_account, '.private-key.json') ee.Initialize(credentials)
अगर आपको कोई गड़बड़ी नहीं दिखती है, तो इसका मतलब है कि आपका सेवा खाता इस्तेमाल के लिए तैयार है.
अगर मुझे invalid_grant गड़बड़ी का मैसेज मिलता है, तो मुझे क्या करना चाहिए?
OAuth2, क्लॉक स्क्यू के लिए बहुत संवेदनशील हो सकता है. अगर आपको लगता है कि आपने सब कुछ सही से सेट अप किया है और आपके Google संपर्क ने पुष्टि की है कि सेवा खाते को मंज़ूरी मिल गई है, तो देखें कि आपके कंप्यूटर की घड़ी, नेटवर्क के समय के साथ सिंक है या नहीं.
Ubuntu सिस्टम के लिए, कंप्यूटर की घड़ी को सिंक करने का कॉल:
ntpdate ntp.ubuntu.com
OS X का इस्तेमाल करने वाले सिस्टम के लिए, सिस्टम सेटिंग > तारीख और समय > तारीख और समय (फिर से) खोलें और तारीख और समय अपने-आप सेट हो जाए को चुनें.
डिफ़ॉल्ट सेवा खाते का इस्तेमाल करना
अगर डिफ़ॉल्ट सेवा खाते का इस्तेमाल किया जा रहा है, तो आपको सबसे पहले Compute Engine सेवा खाते के लिए, वर्चुअल मशीन के ऐक्सेस स्कोप में बदलाव करना होगा. इसके लिए, "सभी Cloud API का पूरा ऐक्सेस दें" को चुनें. (अगर Dataflow या App Engine में डिफ़ॉल्ट सेवा खातों का इस्तेमाल किया जा रहा है, तो यह चरण ज़रूरी नहीं है.)डिफ़ॉल्ट सेवा खाते का इस्तेमाल करके, Earth Engine में पुष्टि करने के लिए, इस कोड का इस्तेमाल करें:
from google.auth import compute_engine import ee credentials = compute_engine.Credentials(scopes=['https://www.googleapis.com/auth/earthengine']) ee.Initialize(credentials)
REST API का ऐक्सेस सेट अप करना
अगर सेवा खाते को REST API का इस्तेमाल करके कैलकुलेशन करने हैं, तो आपको उसे प्रोजेक्ट-लेवल की अनुमति देनी होगी. खास तौर पर, Earth Engine संसाधन व्यूअर की भूमिका. आपके प्रोजेक्ट कॉन्फ़िगरेशन के आधार पर, आपको सेवा खाते को सेवा इस्तेमाल करने वाले उपभोक्ता की भूमिका भी देनी पड़ सकती है. Earth Engine का इस्तेमाल करने के लिए, प्रोजेक्ट की अनुमतियों के बारे में ज़्यादा जानकारी पाने के लिए, ऐक्सेस कंट्रोल पेज देखें.