আপনি একটি ক্লায়েন্ট লাইব্রেরির মাধ্যমে আর্থ ইঞ্জিনের কাছে অনুরোধ করার আগে, আপনাকে অবশ্যই প্রমাণীকরণ করতে হবে এবং আর্থ ইঞ্জিন ক্লায়েন্টকে আরম্ভ করার জন্য ফলাফলের শংসাপত্রগুলি ব্যবহার করতে হবে।
আর্থ ইঞ্জিন কোড এডিটর এবং জাভাস্ক্রিপ্ট
কোড এডিটরে প্রমাণীকরণ এবং আরম্ভ স্বয়ংক্রিয়ভাবে পরিচালনা করা হয়। আপনি কোড এডিটরের উপরের ডানদিকে আপনার লগইন থেকে একটি ক্লাউড প্রজেক্টের মাধ্যমে রুট অনুরোধগুলি বেছে নিতে পারেন৷
আপনি যদি JavaScript API (কোড এডিটরের বাইরে) ব্যবহার করেন, তাহলে ee.data
তে প্রমাণীকরণ সহায়কগুলির একটি ব্যবহার করুন (উদাহরণস্বরূপ, ee.data.authenticateViaPopup()
) এর পরে ee.initialize()
যেমন এই উদাহরণে দেখানো হয়েছে।
পাইথন এবং কমান্ড লাইন
আর্থ ইঞ্জিন পাইথন ক্লায়েন্ট লাইব্রেরি ব্যবহার করার আগে, আপনাকে প্রমাণীকরণ করতে হবে (আপনার পরিচয় যাচাই করতে হবে) এবং পাইথন ক্লায়েন্ট আরম্ভ করার জন্য ফলাফলের শংসাপত্রগুলি ব্যবহার করতে হবে। প্রমাণীকরণ প্রবাহগুলি প্রমাণীকরণের জন্য ক্লাউড প্রকল্পগুলি ব্যবহার করে এবং সেগুলি অবৈতনিক (বিনামূল্যে, অবাণিজ্যিক) ব্যবহারের পাশাপাশি অর্থপ্রদানের জন্য ব্যবহার করা হয়। প্রমাণীকরণ এবং শুরু করতে, চালান
ee.Authenticate()
ee.Initialize(project='my-project')
এটি প্রথমে আপনার পরিবেশের জন্য সর্বোত্তম প্রমাণীকরণ মোড নির্বাচন করবে এবং আপনাকে আপনার স্ক্রিপ্টগুলির অ্যাক্সেস নিশ্চিত করতে অনুরোধ করবে। শংসাপত্রগুলি ইতিমধ্যে বিদ্যমান থাকলে, সেগুলি স্বয়ংক্রিয়ভাবে পুনরায় ব্যবহার করা হয় - নতুন শংসাপত্র তৈরি করতে ee.Authenticate(force=True)
চালান৷
প্রারম্ভিক পদক্ষেপটি যাচাই করে যে বৈধ শংসাপত্র বিদ্যমান, হয় ee.Authenticate()
থেকে তৈরি বা Google ডিফল্ট শংসাপত্র হিসাবে আগে থেকে বিদ্যমান। তারপরে এটি ব্যাকএন্ড সার্ভার সমর্থন করে এমন পদ্ধতিগুলির সাথে পাইথন ক্লায়েন্ট লাইব্রেরি শুরু করে। আপনার মালিকানাধীন একটি প্রকল্প প্রদান করতে হবে , বা ব্যবহারের অনুমতি আছে। প্রকল্পটি নিবন্ধন করতে এবং আর্থ ইঞ্জিন API সক্ষম করতে ক্লাউড প্রকল্প সেটআপ দেখুন৷ এই প্রকল্পটি সমস্ত আর্থ ইঞ্জিন অপারেশন চালানোর জন্য ব্যবহার করা হবে।
কমান্ড লাইনে, সমতুল্য কল হল earthengine authenticate
। শংসাপত্রের মেয়াদ শেষ বা অবৈধ হলে, আপনাকে earthengine authenticate --force
। কমান্ড লাইন আহ্বান প্রতিটি কলে শুরু হবে, এবং আপনি প্রকল্প সেট করতে --project
আর্গুমেন্ট ব্যবহার করতে পারেন।
আপনি earthengine set_project {my-project}
চালিয়ে ভবিষ্যতের সমস্ত কলের জন্য একটি প্রকল্প কনফিগার করতে পারেন। কমান্ড লাইন এবং ee.Initialize()
এটি ব্যবহার করবে যখনই একটি প্রজেক্ট সরাসরি নির্দিষ্ট করা হয় না। যদি gcloud
এর মাধ্যমে প্রমাণীকরণ ব্যবহার করা হয় (নীচে দেখুন), তাহলে gcloud auth application-default set-quota-project {my-project}
দ্বারা সেট করা প্রকল্পটি একটি চূড়ান্ত কেস হিসেবে ব্যবহার করা হবে।
প্রমাণীকরণ বিবরণ
আর্থ ইঞ্জিন প্রমাণীকরণ প্রবাহের লক্ষ্য হল আপনার সাইন-ইন করা অ্যাকাউন্ট থেকে একটি নিরাপত্তা "টোকেন" পাওয়া যা আপনার স্ক্রিপ্টগুলিকে আপনার ডেটা অ্যাক্সেস করার অনুমতি দেওয়ার জন্য সংরক্ষণ করা যেতে পারে৷ নিরাপত্তার কারণে, Google-এর প্রমাণীকরণ সিস্টেম শুধুমাত্র এই ধরনের টোকেনগুলিকে সিস্টেমে পাঠাবে যেগুলি সুরক্ষিত করা যেতে পারে - নীচের প্রযুক্তিগত নোটগুলি দেখুন৷
জড়িত সিস্টেমের ধরণের সংবেদনশীলতার কারণে, আপনার নির্দিষ্ট পরিস্থিতির উপর নির্ভর করে এগিয়ে যাওয়ার বিভিন্ন উপায় রয়েছে। বেশিরভাগ অপশন auth_mode
প্যারামিটার দ্বারা নিয়ন্ত্রিত হয়: হয় ee.Authenticate(auth_mode=...)
, অথবা earthengine authenticate --auth_mode=...
কমান্ড লাইনে।
মনে রাখবেন যে যদি আপনার পরিবেশে Google শংসাপত্রগুলি ইতিমধ্যেই বিদ্যমান থাকে তবে আপনাকে ee.Authenticate()
কল করার প্রয়োজন হবে না। Google ক্লাউড ভিএম, অ্যাপ ইঞ্জিন এবং অন্যান্য পরিবেশগুলি ব্যবহারযোগ্য "পরিবেষ্টিত শংসাপত্র" প্রদান করে এবং gcloud auth application-default login
সেগুলি তৈরি করবে৷
যাইহোক, সামঞ্জস্য বাড়াতে সমস্ত স্ক্রিপ্টের শুরুতে ee.Authenticate()
সুপারিশ করা হয়। কোনো auth_mode
প্যারামিটার ছাড়াই, এটি বেশিরভাগ পরিস্থিতিতে কাজ করার জন্য ডিজাইন করা হয়েছে, কিন্তু ডিফল্ট মোড কাজ না করলে নীচের বিবরণ অনুসরণ করুন। ডিফল্ট মোডটি নিম্নরূপ নির্বাচন করা হয়েছে:
- Google Colab নোটবুকে চললে
colab
-
notebook
যদি অন্যান্য নন-কোলাব জুপিটার নোটবুকে চলমান থাকে -
localhost
যদি একটি ওয়েব ব্রাউজার সনাক্ত করা হয় এবং কোন gcloud বাইনারি ইনস্টল করা না হয় -
gcloud
, অন্যথায়। এই মোডের জন্য আপনাকে gcloud ইনস্টল করতে হবে।
দ্রুত রেফারেন্স গাইড এবং টেবিল
এই সিদ্ধান্ত নির্দেশিকা সম্ভাব্য বিকল্পগুলির রূপরেখা দেয় যদি ee.Authenticate()
দ্বারা নির্বাচিত ডিফল্ট মোড কাজ না করে। উদাহরণস্বরূপ, আপনি যদি অন্য নোটবুক পরিবেশে চলছেন তবে আপনাকে স্পষ্টভাবে notebook
নির্দিষ্ট করতে হতে পারে।
- স্থানীয় পরিবেশ ।
- "স্থানীয়" মানে হল যে আপনি আপনার সামনের মেশিনে একটি পাইথন শেল বা পাইথন নোটবুকে কোড চালাচ্ছেন - বা আরও স্পষ্ট করে বলতে গেলে, আপনার ওয়েব ব্রাউজার যে মেশিনে চলছে। এর মধ্যে রিমোট-ডেস্কটপ পরিস্থিতি রয়েছে যেখানে পাইথন এবং ব্রাউজার উভয়ই একই (রিমোট) মেশিনে রয়েছে।
-
auth_mode=localhost
ব্যবহার করা সবচেয়ে সহজ, এবং gcloud ইনস্টল না হলে ডিফল্টরূপে নির্বাচন করা হবে, কিন্তু আপনার স্ক্রিপ্ট শুধুমাত্র স্থানীয় পরিবেশে কাজ করবে। -
auth_mode=gcloud
এবংauth_mode=notebook
উভয়ই উপলব্ধ।
- দূরবর্তী পরিবেশ ।
- "রিমোট" মানে আপনার ব্রাউজার একটি (স্থানীয়) মেশিনে আছে কিন্তু আপনার কোড অন্য কোথাও চলছে, যেমন একটি দূরবর্তী ওয়ার্কস্টেশন বা একটি ওয়েব-ভিত্তিক নোটবুকে।
- Colab-এ থাকলে,
auth_mode=colab
ব্যবহার করুন; অথবা অন্য API কল করার জন্যscopes
সেট করতে হলেgcloud
ব্যবহার করুন। - আপনি যদি দূরবর্তী মেশিন এবং আপনার স্থানীয় মেশিন উভয়েই gcloud ইনস্টল করতে পারেন,
auth_mode=gcloud
ব্যবহার করুন। - আপনি যদি একটি প্রমাণীকরণ প্রকল্প ব্যবহার করতে পারেন (নীচে দেখুন),
auth_mode=notebook
ব্যবহার করুন। - অন্যথায়, আপনি যদি কোনো প্রোজেক্ট ব্যবহার করতে না পারেন বা gcloud ইনস্টল করতে না পারেন বা Colab ব্যবহার করতে না পারেন বা একই মেশিনে ব্রাউজার ব্যবহার করতে না পারেন:
- প্রজেক্ট তৈরি করার বিষয়ে একজন প্রশাসকের সাথে (আবার) কথা বলুন। যেমন:
- প্রশাসককে আপনার জন্য একটি প্রকল্প কনফিগার করতে বলুন (মালিক বা সম্পাদক বা OAuth কনফিগার সম্পাদক হিসাবে)
- অথবা প্রশাসককে একটি প্রকল্প তৈরি করার অনুমতি দিতে বলুন।
এই টেবিলটি দেখায় যে বৈশিষ্ট্যগুলির কোন সমন্বয় প্রতিটি মোড দ্বারা সমর্থিত।
স্থানীয় বা দূরবর্তী জন্য? | প্রকল্প প্রয়োজন | স্কোপ সেটেবল | স্থানীয় CLI প্রয়োজন | প্রকল্পের মালিক | |
---|---|---|---|---|---|
localhost | স্থানীয় | Y | Y | এন | এন |
colab | দূরবর্তী | Y | এন | এন | এন |
gcloud | উভয় | Y | Y | এন | এন |
notebook | উভয় | Y | Y | এন | Y |
পরিষেবা অ্যাকাউন্ট এবং কম্পিউট ইঞ্জিনের জন্য শংসাপত্র
ee.Initialize()
আর্থ ইঞ্জিন শংসাপত্র ব্যবহার করবে (যা ee.Authenticate()
~/.config/earthengine/credentials
এ সঞ্চয় করে ) অথবা google.auth.default()
থেকে শংসাপত্র পুনরুদ্ধার করে, তবে প্রয়োজনে আপনি একটি credentials=
আর্গুমেন্ট পাস করতে পারেন অন্য কোথাও ব্যবহার করার জন্য এইগুলি defaults থেকে।
আপনি যদি পাইথন কোড প্রমাণীকরণ করেন যা অনুপস্থিতিতে চলবে, আপনি ব্যবহারকারীর অ্যাকাউন্টের পরিবর্তে একটি পরিষেবা অ্যাকাউন্ট দিয়ে প্রমাণীকরণ করতে চাইতে পারেন। আর্থ ইঞ্জিনের সাথে পরিষেবা অ্যাকাউন্টগুলি ব্যবহার করার জন্য এই নথিগুলি দেখুন৷ অন্যান্য পদ্ধতির মধ্যে রয়েছে Colab auth মডিউলের authenticate_service_account
এবং পরিষেবা অ্যাকাউন্ট হিসেবে প্রমাণীকরণের জন্য ক্লাউড গাইডে বর্ণিত পদ্ধতি।
যদি আপনার কোড একটি Compute Engine VM- এ চলমান থাকে, তাহলে পরিবেশের জন্য একটি ডিফল্ট পরিষেবা অ্যাকাউন্ট তৈরি করা হয়, যা ee.Initialize()
ডিফল্টরূপে ব্যবহার করবে। আর্থ ইঞ্জিন ব্যবহার করার জন্য আপনাকে পরিষেবা অ্যাকাউন্ট নিবন্ধন করতে হতে পারে যদি ক্লাউড প্রজেক্টের মাধ্যমে VM শুরু করা হয়েছিল যদি আর্থ ইঞ্জিন (বাণিজ্যিক বা অ-বাণিজ্যিক) ব্যবহারের জন্য নিবন্ধিত না হয়।
মোড সম্পর্কে বিস্তারিত
auth_mode=colab । ee.Authenticate()
প্রয়োজনে colab.auth.authenticate_user()
চালিয়ে Colab দ্বারা সমর্থিত ডিফল্ট ক্রেডেনশিয়াল তৈরি করবে বা পাবে। শংসাপত্রগুলি সর্বদা cloud-platform
স্কোপ ব্যবহার করে এবং অন্যান্য ক্লাউড API কল করতেও ব্যবহার করা যেতে পারে।
auth_mode=gcloud । এটি gcloud টুলে প্রমাণীকরণ অর্পণ করে এবং ডিফল্ট আর্থ ইঞ্জিন স্কোপ (আর্থ ইঞ্জিন, ক্লাউড-প্ল্যাটফর্ম এবং ড্রাইভ) বা scopes
আর্গুমেন্টের স্কোপগুলির সাথে gcloud auth application-default login
চালানোর সমান। gcloud
মোড স্থানীয় এবং দূরবর্তী উভয় ক্ষেত্রেই কাজ করে।
জিক্লাউড মোডের জন্য ধাপে ধাপে নির্দেশাবলী (স্থানীয় এবং দূরবর্তী ক্ষেত্রে)
- স্থানীয় মেশিনে gcloud ইনস্টল করা আছে তা যাচাই করুন।
- একটি টার্মিনালে,
gcloud help
চালান। যদি gcloud ইনস্টল করা না থাকে, gcloud ইনস্টল করতে এই নির্দেশাবলী অনুসরণ করুন।
- একটি টার্মিনালে,
- স্থানীয় মেশিন টার্মিনাল
- একটি টার্মিনালে,
earthengine authenticate
চালান। - কমান্ড আউটপুট নির্দেশ করবে যে শংসাপত্রগুলি আনার জন্য gcloud ব্যবহার করা হচ্ছে।
- একটি অ্যাকাউন্ট নির্বাচন পৃষ্ঠায় একটি ব্রাউজার উইন্ডো খুলবে। ব্রাউজার স্বয়ংক্রিয়ভাবে না খুললে, URL এ ক্লিক করুন।
- একটি টার্মিনালে,
- ব্রাউজার: অ্যাকাউন্ট নির্বাচন
- আপনি প্রমাণীকরণের জন্য যে অ্যাকাউন্টটি ব্যবহার করতে চান সেটি নির্বাচন করুন।
- ব্রাউজার: কনসেন্ট স্ক্রিন
- আপনি অনুরোধ করা সুযোগ প্রদান করতে ইচ্ছুক কিনা তা নির্দেশ করুন এবং "অনুমতি দিন" এ ক্লিক করুন।
- ব্রাউজার: নিশ্চিতকরণ স্ক্রিন
- ব্রাউজার একটি পৃষ্ঠা দেখাবে যে আপনি প্রমাণীকরণ করেছেন এবং আপনার টার্মিনাল উইন্ডোতে
earthengine authenticate
কমান্ডটি "সফলভাবে সংরক্ষিত অনুমোদন টোকেন" রিপোর্ট করবে। - দূরবর্তী ক্ষেত্রে, ওয়েব পৃষ্ঠা আপনাকে পাইথন পরিবেশে পেস্ট করার জন্য একটি কোড দেবে।
- ব্রাউজার একটি পৃষ্ঠা দেখাবে যে আপনি প্রমাণীকরণ করেছেন এবং আপনার টার্মিনাল উইন্ডোতে
- শুরুর সাথে এগিয়ে যান।
auth_mode=localhost । এটি একটি gcloud-এর মতো প্রবাহ যেখানে gcloud ইনস্টল করা নেই। এটি জিক্লাউডের মতো একই পদক্ষেপগুলি সম্পাদন করে, তবে শুধুমাত্র স্থানীয় ক্ষেত্রে কাজ করে। আপনি একটি ঐচ্ছিক ইন্টারনেট পোর্ট নম্বর প্রদান করতে পারেন, যেমন localhost:8086
, অথবা একটি পোর্ট স্বয়ংক্রিয়ভাবে নির্বাচন করতে localhost:0
ব্যবহার করুন। ডিফল্ট পোর্ট হল 8085।
auth_mode=নোটবুক । এটি একটি সাধারণ-উদ্দেশ্য মোড যা দূরবর্তী পরিস্থিতিতে কাজ করার জন্য ডিজাইন করা হয়েছে যেখানে স্থানীয় কমান্ড লাইন উপলব্ধ নেই। এটি আপনাকে নোটবুক প্রমাণীকরণকারী পৃষ্ঠায় পাঠায় যেখানে আপনাকে একটি "প্রমাণিকরণ প্রকল্প" চয়ন করতে বা তৈরি করতে হবে - নীচের বিশদ বিবরণ এবং সমস্যা সমাধানের নির্দেশিকা দেখুন৷ ee.Initialize()
এ পাস করা প্রজেক্ট এর সাথে মেলে না - আপনি বিভিন্ন নোটবুকে বিভিন্ন প্রোজেক্টে কাজ করার সময় প্রমাণীকরণের জন্য একই প্রজেক্ট রাখতে পারেন। ee.Initialize()
এ স্পষ্টভাবে একটি প্রকল্প পাস করার সুপারিশ করা হয়, তবে প্রমাণীকরণ প্রকল্পটি ডিফল্টরূপে ব্যবহার করা হবে।
নোটবুক মোডের জন্য ধাপে ধাপে নির্দেশাবলী
- ব্রাউজার: নোটবুক
- একটি নোটবুক কোড কক্ষে, "নোটবুক" মোড ব্যবহার করে একটি প্রমাণীকরণ প্রবাহ শুরু করতে নিম্নলিখিত কোডটি চালান৷
একটি নতুন ট্যাবে একটি নোটবুক প্রমাণীকরণ পৃষ্ঠা খুলতে সেল আউটপুটে লিঙ্কটিতে ক্লিক করুন৷import ee ee.Authenticate()
- একটি নোটবুক কোড কক্ষে, "নোটবুক" মোড ব্যবহার করে একটি প্রমাণীকরণ প্রবাহ শুরু করতে নিম্নলিখিত কোডটি চালান৷
- ব্রাউজার: নোটবুক প্রমাণীকরণকারী
- যাচাই করুন যে সঠিক ব্যবহারকারী অ্যাকাউন্ট তালিকাভুক্ত করা হয়েছে।
- প্রমাণীকরণের জন্য ব্যবহার করার জন্য একটি Google ক্লাউড প্রকল্প নির্বাচন করুন৷ আপনি যদি একটি নতুন প্রকল্প তৈরি করতে চান, আমরা নামকরণের নিয়ম "ee-xyz" সুপারিশ করি যেখানে xyz হল আপনার সাধারণ আর্থ ইঞ্জিন ব্যবহারকারীর নাম৷ (যদি আপনি একটি ক্লাউড প্রকল্প নির্বাচন বা তৈরি করতে না পারেন, তাহলে নীচের সমস্যা সমাধান বিভাগটি দেখুন।)
- টোকেন তৈরি করুন ক্লিক করুন।
- ব্রাউজার: অ্যাকাউন্ট নির্বাচন
- আপনাকে একটি অ্যাকাউন্ট নির্বাচন পৃষ্ঠা দেখানো হবে। আপনি নোটবুক থেকে অ্যাক্সেস দিতে চান এমন ব্যবহারকারীর অ্যাকাউন্টে ক্লিক করুন।
- ব্রাউজার: সতর্কতা পৃষ্ঠা
- একটি সতর্কীকরণ পৃষ্ঠা উপস্থাপন করা হয়েছে, যা নির্দেশ করে যে Google অ্যাপটি তৈরি করেনি (যেমন নোটবুকের কোড)। স্বীকার করতে অবিরত ক্লিক করুন.
- ব্রাউজার: কনসেন্ট স্ক্রিন
- আপনি অনুরোধ করা সুযোগ প্রদান করতে ইচ্ছুক কিনা তা নির্দেশ করুন এবং চালিয়ে যান ক্লিক করুন।
- ব্রাউজার: অনুমোদন কোড স্ক্রীন
- অনুমোদন যাচাইকরণ কোড কপি করুন
- ব্রাউজার: নোটবুক
- নোটবুক ট্যাবে ফিরে যান এবং নোটবুক সেল আউটপুটে যাচাইকরণ কোড পেস্ট করুন।
- সেল আউটপুট "সফলভাবে সংরক্ষিত অনুমোদন টোকেন" নির্দেশ করবে।
- শুরুর সাথে এগিয়ে যান।
নোটবুক মোডে খুব কমই ব্যবহৃত quiet
প্যারামিটার রয়েছে: সেট করা থাকলে, এটি "ননইন্টারেক্টিভলি" চালায় এবং প্রম্পট করে না এবং আপনার প্রমাণীকরণ কোড প্রবেশ করার জন্য অপেক্ষা করে না। পরিবর্তে, এটি কোড সংরক্ষণ করতে চালানোর জন্য একটি কমান্ড দেয়।
প্রমাণীকরণ প্রকল্প
নোটবুক মোডে ব্যবহৃত প্রমাণীকরণ প্রকল্পে আপনাকে একজন মালিক, সম্পাদক বা OAuth কনফিগারেশন সম্পাদক হতে হবে। অনেক ক্ষেত্রে, বিশেষ করে ছোট দলগুলিতে, আপনি নোটবুক প্রমাণীকরণ পৃষ্ঠায় যে প্রমাণীকরণ প্রকল্পটি ব্যবহার করেন সেটি প্রাথমিক প্রকল্পের মতোই হতে পারে যা আপনি অন্যান্য কাজের জন্য ব্যবহার করেন।
নিরাপত্তা উদ্বেগের কারণে, প্রমাণীকরণ প্রকল্পে "OAuth ক্লায়েন্ট কনফিগারেশন" একটি একবার বন্ধ সেটআপ। আপনি বা অন্য ব্যবহারকারীরা অন্য কারণে প্রকল্পে একটি OAuth ক্লায়েন্ট সেট আপ করে থাকলে, এটি সরানো যাবে না এবং আপনি "অসঙ্গত OAuth2 ক্লায়েন্ট কনফিগারেশন" বলে একটি ত্রুটি দেখতে পাবেন৷ প্রমাণীকরণের জন্য আপনাকে একটি ভিন্ন প্রজেক্ট ব্যবহার করতে হবে অথবা উপরের কোল্যাব, লোকালহোস্ট বা জিক্লাউড মোড ব্যবহার করতে হবে।
সমস্যা সমাধান
যদি আমি একটি ক্লাউড প্রকল্প তৈরি করতে না পারি?
ক্লাউড প্রজেক্ট কারা তৈরি করতে পারে তা কিছু সংস্থা নিয়ন্ত্রণ করে। একটি প্রকল্প তৈরি করার চেষ্টা করার সময় আপনি যদি নোটবুক প্রমাণীকরণকারী পৃষ্ঠায় একটি ত্রুটি পান, চেষ্টা করার জন্য কয়েকটি জিনিস রয়েছে:
- আপনার প্রয়োজনীয় অনুমতি আছে কিনা তা নিশ্চিত করতে সরাসরি একটি প্রকল্প তৈরি করার চেষ্টা করুন।
- একটি প্রজেক্ট তৈরি করার জন্য কি কি প্রসেস পাওয়া যায় তা খুঁজে বের করতে আপনার প্রতিষ্ঠানের প্রশাসকের সাথে কথা বলুন।
- একটি অ-সাংগঠনিক অ্যাকাউন্ট থেকে একটি প্রকল্প তৈরি করুন এবং প্রকল্পের মালিক হিসাবে আপনি কাজের জন্য যে অ্যাকাউন্টটি ব্যবহার করেন সেটি যোগ করুন। দ্রষ্টব্য: কিছু সংস্থার নিরাপত্তা নীতি রয়েছে যা বহিরাগত প্রকল্পগুলি থেকে OAuth ক্লায়েন্টদের অ্যাক্সেসকে বাধা দেয়।
ত্রুটি: "আর্থ ইঞ্জিন API এর আগে XXX প্রকল্পে ব্যবহার করা হয়নি বা এটি নিষ্ক্রিয় করা হয়েছে"
প্রথমত, নিশ্চিত করুন যে আপনি ee.Initialize()
বা কমান্ড লাইনে একটি প্রজেক্ট কনফিগার করেছেন (ক্লাউড এবং কোলাবের দেওয়া ডিফল্ট প্রজেক্টে আর্থ ইঞ্জিন চালু থাকবে না)। দ্বিতীয়ত, নিশ্চিত করুন যে আর্থ ইঞ্জিন API আপনার প্রজেক্টে সক্রিয় আছে।
ত্রুটি: "প্রকল্পের একটি বেমানান OAuth2 ক্লায়েন্ট কনফিগারেশন আছে"
ক্লাউড প্রকল্পে শুধুমাত্র একটি OAuth2 ক্লায়েন্ট কনফিগারেশন থাকতে পারে। আপনি শংসাপত্র পৃষ্ঠায় OAuth 2.0 ক্লায়েন্ট আইডি চেক করে একটি ক্লাউড প্রকল্পে একটি OAuth2 ক্লায়েন্ট কনফিগারেশন সেট আছে কিনা তা পরীক্ষা করতে পারেন। আপনাকে হয় অন্য একটি ক্লাউড প্রজেক্ট নির্বাচন করতে হবে যার একটি সামঞ্জস্যপূর্ণ কনফিগারেশন ইতিমধ্যেই নোটবুক প্রমাণীকরণকারী দ্বারা সেট আপ করা আছে, অথবা কোনো OAuth2 ক্লায়েন্ট ছাড়াই একটি ক্লাউড প্রকল্প নির্বাচন বা তৈরি করুন৷ প্রমাণীকরণকারী স্বয়ংক্রিয়ভাবে এই প্রকল্পটি কনফিগার করবে। দুর্ভাগ্যবশত, OAuth সিস্টেম ব্যবহারকারীদের কনফিগারেশন মুছে ফেলার অনুমতি দেয় না, তাই একজনকে অবশ্যই একটি ভিন্ন প্রকল্প ব্যবহার করতে হবে। এই প্রকল্পটি একই প্রকল্প হতে হবে না যা অন্যান্য আর্থ ইঞ্জিনের কাজে ব্যবহৃত হয়। মনে রাখবেন যে এই সমস্যাটি Colab মোডে ঘটে না।
ত্রুটি: "gcloud ব্যর্থ হয়েছে। অনুগ্রহ করে উপরের কোনো ত্রুটি পরীক্ষা করুন এবং প্রয়োজনে gcloud ইনস্টল করুন।"
gcloud ইনস্টল না থাকলে বা আপনার PATH-এ না থাকলে এই ত্রুটি ঘটতে পারে। আপনি যদি একটি নোটবুক কোড সেলের মধ্যে থেকে ee.Authenticate(auth_mode='gcloud')
কল করেন তাহলেও এটি ঘটতে পারে। পরিবর্তে ee.Authenticate()
ব্যবহার করুন, যা নোটবুক মোড প্রমাণীকরণ ব্যবহার করার জন্য ডিফল্ট হবে। আপনি যদি একটি প্রকল্প তৈরি করতে না পারেন, উপরের সমাধান দেখুন।
জিক্লাউড ইনস্টল করার জন্য স্থানীয় মেশিনে আমার অ্যাক্সেস না থাকলে কী হবে?
আপনি যদি স্থানীয় টার্মিনালে অ্যাক্সেস ছাড়াই একটি ওয়েব-অনলি পরিবেশে কাজ করছেন, এবং আপনাকে এখনও একটি দূরবর্তী টার্মিনাল ব্যবহার করতে হবে, আপনি এখনও earthengine authenticate --auth_mode=notebook
কমান্ডটি চালিয়ে নোটবুক মোড ট্রিগার করে কমান্ড লাইন টুলটি শুরু করতে পারেন।
ত্রুটি 400: redirect_uri_mismatch
ওয়েব ব্রাউজারে অ্যাক্সেস ছাড়াই দূরবর্তী মেশিনে প্রমাণীকরণ করলে আপনি এই ত্রুটিটি পেতে পারেন। কমান্ড লাইন থেকে earthengine authenticate
চালালে --quiet
যোগ করার চেষ্টা করুন অথবা Python ক্লায়েন্ট ব্যবহার করলে ee.Authenticate(quiet=True)
যোগ করার চেষ্টা করুন। এর জন্য আপনাকে একটি ওয়েব ব্রাউজারে অ্যাক্সেস আছে এমন একটি মেশিন থেকে gcloud
দিয়ে প্রমাণীকরণ করতে হবে।
ত্রুটি: "আপনার অ্যাপ্লিকেশন স্থানীয় অ্যাপ্লিকেশন ডিফল্ট শংসাপত্রগুলি ব্যবহার করে প্রমাণীকরণ করছে৷ earthengine.googleapis.com API-এর একটি কোটা প্রকল্প প্রয়োজন, যা ডিফল্টরূপে সেট করা হয় না৷"
আর্থ ইঞ্জিন আপনার প্রকল্প আইডি নির্ধারণ করতে না পারলে এই ত্রুটিটি ঘটতে পারে৷ যদি Google ক্লাউড সমস্যা সমাধানের বিকল্পগুলি কাজ না করে, earthengine set_project YOUR_PROJECT_ID
বা gcloud auth application-default set-quota-project YOUR_PROJECT_ID
চালানোর চেষ্টা করুন।
প্রযুক্তিগত নোট
প্রযুক্তিগতভাবে কৌতূহলীদের জন্য: এই বিভিন্ন শংসাপত্র তৈরির পদ্ধতির প্রয়োজন একটি পরিচিত এবং বিশ্বস্ত পরিবেশে শংসাপত্রগুলি পাস করার প্রয়োজন থেকে আসে। এখানে উপরের বিভিন্ন ক্ষেত্রে একটি দ্রুত আলোচনা.
- একটি
paste
মোড ছিল যা আপনাকে যে কোনও জায়গায় পেস্ট করার জন্য একটি টোকেন দেয় এবং এটিকে খুব ঝুঁকিপূর্ণ বলে মনে করা হয়েছিল এবং এটি আর উপলব্ধ নেই। -
colab
:auth.authenticate_user()
আপনাকে "Colab" auth ক্লায়েন্ট, নোটবুক পরিবেশ নিজেই শংসাপত্র শেয়ার করতে অনুরোধ করবে। এইগুলি তারপরgoogle.auth.default()
এর মাধ্যমে পাওয়া যায় এবংee.Initialize()
দ্বারা ব্যবহৃত হয়। -
localhost
: শংসাপত্রগুলি ব্রাউজার থেকে আপনার স্থানীয় মেশিনের একটি পোর্টে প্রেরণ করা হয়। এই পরিস্থিতিতে, শেষ থেকে শেষ নিরাপত্তা নির্ভর করে যে আপনার স্থানীয় মেশিনে আপস করা হয়নি। আপনি যে প্রমাণীকরণ ক্লায়েন্টটি দেখতে পাবেন সেটি হল "আর্থ ইঞ্জিন প্রমাণীকরণকারী"। -
gcloud
: এটি gcloud রেফারেন্সে বর্ণিত--launch-browser
ফ্লো এবং দূরবর্তী মেশিনে থাকলে--no-launch-browser
ব্যবহার করে। ব্যবহৃত প্রমাণীকরণ ক্লায়েন্ট হল "Google Auth Library।" -
notebook
: আমরা বিশেষভাবে আপনার কাজের জন্য একটি নতুন প্রমাণীকরণ ক্লায়েন্ট তৈরি করি - আপনি সম্মতি পৃষ্ঠায় আপনার ইমেল ঠিকানা দেখতে পাবেন। এই ক্লায়েন্টটি "উন্নয়ন" মোডে সেট করা হয়েছে, যা একটি বিশেষ ক্ষেত্রে যা পুরানো পেস্ট মোড টোকেনগুলিকে অনুমতি দেয়৷ আমাদের এটির জন্য আপনার নিজস্ব প্রকল্প ব্যবহার করতে হবে, কারণ এই ধরনের ক্লায়েন্টদের বিপুল সংখ্যক ব্যবহারকারীর সাথে ভাগ করা যায় না।