একটি Google ক্লাউড প্রকল্প থেকে API কল করুন

১. শুরু করার আগে

এই কোডল্যাবটি আপনাকে দেখাবে কীভাবে একটি গুগল ক্লাউড প্রজেক্ট তৈরি করতে হয় এবং তারপর সেই প্রজেক্ট থেকে গুগল ক্লাউড এপিআই কল করতে হয়।

পূর্বশর্ত

  • গুগল ক্লাউড কনসোল ব্যবহার করার ক্ষমতা।

আপনি যা শিখবেন

  • কীভাবে একটি গুগল ক্লাউড প্রজেক্ট তৈরি করবেন।
  • কীভাবে একটি বিলিং অ্যাকাউন্ট তৈরি করবেন।
  • ক্লাউড শেল কীভাবে সেট আপ করবেন।
  • কীভাবে একটি API সক্রিয় করবেন।
  • এপিআই কী ব্যবহার করে কীভাবে একটি এপিআই অনুমোদন করবেন
  • সার্ভিস অ্যাকাউন্ট ব্যবহার করে কীভাবে একটি API অনুমোদন করবেন।

আপনার যা যা লাগবে

২. প্রস্তুত হন

এই বিভাগে দেখানো হয়েছে কীভাবে একটি গুগল ক্লাউড প্রজেক্ট তৈরি করতে হয়, একটি বিলিং অ্যাকাউন্ট সেট আপ করতে হয় এবং ক্লাউড শেল সেট আপ করতে হয়।

একটি গুগল ক্লাউড প্রজেক্ট তৈরি করুন এবং একটি বিলিং অ্যাকাউন্ট সেট আপ করুন।

  1. ক্লাউড কনসোলে সাইন ইন করুন এবং একটি প্রজেক্ট নির্বাচন বা তৈরি করুন।

গুগল ক্লাউডের

নতুন প্রকল্প প্যানে

নতুন প্রজেক্ট প্যানে প্রজেক্টের নাম, সংস্থা এবং অবস্থান ক্ষেত্রগুলো দেখা যাচ্ছে।

প্রজেক্ট আইডিটি মনে রাখবেন, যা 'প্রজেক্ট নেম' ফিল্ডের নিচে দেখানো হয়। এই আইডিটি সমস্ত গুগল ক্লাউড প্রজেক্টের মধ্যে একটি অনন্য নাম (উপরের নামটি ইতিমধ্যেই ব্যবহৃত হয়েছে), এবং এই কোডল্যাবে পরে এটিকে PROJECT_ID হিসাবে উল্লেখ করা হবে।

  1. এরপরে, গুগল ক্লাউড রিসোর্স ব্যবহার করার জন্য ক্লাউড কনসোলে বিলিং চালু করুন

যদিও এই কোডল্যাবটির জন্য খুব বেশি খরচ হওয়ার কথা নয়, তবুও রিসোর্সগুলো বন্ধ করতে এবং এই কোডল্যাবের বাইরের খরচ এড়াতে 'ক্লিন আপ' বিভাগের নির্দেশাবলী অনুসরণ করুন। উল্লেখ্য যে, গুগল ক্লাউডের নতুন ব্যবহারকারীরা ৩০০ মার্কিন ডলারের ফ্রি ট্রায়ালের জন্য যোগ্য।

Set up the Cloud Shell

এই কোডল্যাবে আপনি ক্লাউড শেল ব্যবহার করবেন, যা গুগল ক্লাউডে চালিত একটি কমান্ড-লাইন এনভায়রনমেন্ট। ক্লাউড শেল হলো একটি ডেবিয়ান-ভিত্তিক ভার্চুয়াল মেশিন, যেখানে আপনার প্রয়োজনীয় সমস্ত ডেভেলপমেন্ট টুলস লোড করা থাকে। এটি একটি স্থায়ী ৫ জিবি হোম ডিরেক্টরি প্রদান করে, যা নেটওয়ার্ক পারফরম্যান্স এবং অথেনটিকেশনকে ব্যাপকভাবে উন্নত করে। এর মানে হলো, এই কোডল্যাবের জন্য আপনার শুধু একটি ব্রাউজার প্রয়োজন।

To activate Cloud Shell from the Cloud Console:

  1. ক্লিক করুন a8460e837e9f5fda.png ক্লাউড শেল সক্রিয় করুন

পরিবেশের সাথে সংযোগ স্থাপন করতে এবং প্রয়োজনীয় ব্যবস্থা নিতে কয়েক মুহূর্ত সময় লাগতে পারে।

ক্লাউড শেল বিকল্পটি সক্রিয় করুন।

ক্লাউড শেল কমান্ড-লাইন প্রম্পট দেখাচ্ছে।

ক্লাউড শেলে সংযুক্ত হওয়ার পর, আপনি দেখতে পাবেন যে আপনাকে ইতিমধ্যেই প্রমাণীকৃত করা হয়েছে এবং প্রজেক্টটি আপনার PROJECT_ID তে সেট করা আছে।

  1. অনুমোদিত অ্যাকাউন্টগুলির একটি তালিকা তৈরি করুন:
gcloud auth list

আপনি এই আউটপুটটি দেখতে পাবেন:

Credentialed accounts:
 - <MY_ACCOUNT>@<MY_DOMAIN>.com (active)
  1. আপনার প্রজেক্টগুলোর তালিকা দেখতে এই কমান্ডটি প্রবেশ করান।
gcloud config list project

আপনি এই আউটপুটটি দেখতে পাবেন:

[core]
project = <PROJECT_ID>

যদি কোনো কারণে প্রজেক্টটি সেট করা না থাকে, তাহলে প্রজেক্টটি সেট আপ করার জন্য এই কমান্ডটি চালান।

gcloud config set project <PROJECT_ID>

PROJECT_ID হলো সেই আইডি যা আপনি সেটআপের ধাপগুলিতে ব্যবহার করেছেন। আপনি ক্লাউড কনসোল ড্যাশবোর্ডেও এটি খুঁজে নিতে পারেন:

প্রজেক্ট তথ্য প্যানেলে প্রজেক্ট আইডি দেখানো হচ্ছে।

ক্লাউড শেল ডিফল্টরূপে কিছু এনভায়রনমেন্ট ভেরিয়েবলও সেট করে, যা ভবিষ্যতে কমান্ড চালানোর সময় কাজে লাগতে পারে।

  1. আপনার প্রজেক্ট আইডি দেখতে, নিম্নলিখিত কমান্ডটি প্রবেশ করান।
echo $GOOGLE_CLOUD_PROJECT

আপনি নিম্নলিখিত আউটপুট দেখতে পাবেন:

<PROJECT_ID>
  1. অবশেষে, ডিফল্ট জোন এবং প্রজেক্ট কনফিগারেশন সেট করুন।
gcloud config set compute/zone us-central1-f

আপনি বিভিন্ন ধরনের জোন বেছে নিতে পারেন। আরও তথ্যের জন্য, অঞ্চল ও জোনসমূহ দেখুন।

৩. একটি প্রজেক্ট থেকে এপিআই কল করুন

এই কোডল্যাবটি আপনাকে দেখাবে কীভাবে একটি উদাহরণ এপিআই ( ন্যাচারাল ল্যাঙ্গুয়েজ এপিআই ) ব্যবহার করে টেক্সটের মধ্যে এনটিটি (যেমন ব্যক্তি, স্থান এবং ঘটনা) খুঁজে বের করতে হয় এবং কীভাবে সেই টেক্সটের সেন্টিমেন্ট (অনুকূলতার মাত্রা) অনুমান করতে হয়। আপনি শিখবেন কীভাবে:

  • গুগল ক্লাউড এপিআই সক্রিয় করুন।
  • এপিআই কী এবং সার্ভিস অ্যাকাউন্টের মাধ্যমে এপিআই-এর জন্য অনুমোদন নিন।
  • curl এবং ক্লায়েন্ট লাইব্রেরি ব্যবহার করে API-কে কল করুন।

একটি API সক্রিয় করুন

  1. ক্লাউড কনসোলের প্রধান মেনু থেকে এপিআই ও পরিষেবাগুলো নির্বাচন করুন।

ক্লাউড কনসোলের প্রধান মেনুতে এপিআই এবং সার্ভিসেস অপশনটি দেখা যাচ্ছে।

  1. স্ক্রিনের উপরের অংশ থেকে + ENABLE APIS AND SERVICES নির্বাচন করুন।

এপিআই এবং সার্ভিসগুলো সক্রিয় করার অপশন।

  1. এই পর্যায়ে, আপনি এপিআইগুলো ফিল্টার ও ব্রাউজ করতে পারেন, অথবা সার্চ বক্স ব্যবহার করে সরাসরি কোনো এপিআই-তে যেতে পারেন। Natural Language লিখে সার্চ করুন এবং 'ক্লাউড ন্যাচারাল ল্যাঙ্গুয়েজ এপিআই' নির্বাচন করুন।

ক্লাউড ন্যাচারাল ল্যাঙ্গুয়েজ এপিআই প্যানে ENABLE এবং TRY THIS API বাটনগুলো দেখা যাচ্ছে।

  1. এই এপিআইটি ব্যবহার করে দেখুন-এ ক্লিক করুন।

যদি ‘এই এপিআইটি ব্যবহার করে দেখুন ’ (TRY THIS API) বাটনটি দেখানো না হয়, তাহলে সেই পদ্ধতিটি চেষ্টা করার জন্য তালিকাভুক্ত পদ্ধতিগুলোর মধ্যে একটিতে ক্লিক করুন।

একটি এপিআই কী তৈরি করুন

যেহেতু আপনি ন্যাচারাল ল্যাঙ্গুয়েজ এপিআই-তে অনুরোধ পাঠাতে curl ব্যবহার করেন, তাই আপনার অনুরোধের URL পাঠানোর জন্য আপনাকে অবশ্যই একটি এপিআই কী তৈরি করতে হবে।

  1. ক্লাউড কনসোলে, নেভিগেশন মেনু > এপিআই ও পরিষেবা > ক্রেডেনশিয়ালস নির্বাচন করুন।

নেভিগেশন মেনুতে এপিআই ও সার্ভিস এবং ক্রেডেনশিয়াল অপশনগুলো দেখানো হচ্ছে।

  1. ক্রেডেনশিয়াল তৈরি করুন-এ ক্লিক করুন এবং তারপরে API কী নির্বাচন করুন:

ক্রেডেনশিয়াল প্যানে CREATE CREDENTIALS এবং API key অপশনগুলো দেখানো হচ্ছে।

  1. তৈরি হওয়া API কী-টি কপি করুন এবং তারপর Close-এ ক্লিক করুন।

এপিআই কল করতে এপিআই কী ব্যবহার করুন।

  1. ক্লাউড শেল কমান্ড লাইনে আপনার এপিআই কী এক্সপোর্ট করুন।
export API_KEY=<YOUR_API_KEY>

<YOUR_API_KEY> আপনার পূর্বে তৈরি করা কী-টি দিয়ে প্রতিস্থাপন করুন।

  1. ক্লাউড শেল এডিটর অথবা ভিম বা ইম্যাক্সের মতো কোনো লিনাক্স এডিটর ব্যবহার করে এপিআই-এর জন্য একটি রিকোয়েস্ট তৈরি করুন। প্যারামিটারগুলোর বিস্তারিত বিবরণ Method: documents.analyzeEntities অংশে পাবেন। আউটপুটটি request.json নামের একটি ফাইলে সেভ করুন।
{
  "document":{
    "type":"PLAIN_TEXT",
    "content":"Google, headquartered in Mountain View (1600 Amphitheatre Pkwy, Mountain View, CA 940430), unveiled the new Android phone for $799 at the Consumer Electronic Show. Sundar Pichai said in his keynote that users love their new Android phones."
  },
  "encodingType":"UTF8"
}
  1. অনুরোধের তথ্য দিয়ে এপিআই-কে কল করুন।
curl "https://language.googleapis.com/v1/documents:analyzeEntities?key=${API_KEY}" \
  -s -X POST -H "Content-Type: application/json" --data-binary @request.json
  1. কমান্ডটি পুনরায় চালান এবং আউটপুটটি একটি ফাইলে রিডাইরেক্ট করে ফলাফলটি পরীক্ষা করুন। JSON ফাইলের আউটপুটের বিস্তারিত বিবরণ Method: documents.analyzeEntities অংশেও রয়েছে।
  2. request.json ফাইলে বিশ্লেষণ করার জন্য টেক্সট পরিবর্তন করতে, ` content ভ্যালুটি আপনার পছন্দের টেক্সট দিয়ে প্রতিস্থাপন করুন।

৪. একটি পরিষেবা অ্যাকাউন্ট দিয়ে অনুমোদন করুন

এপিআই কী-এর চেয়ে সার্ভিস অ্যাকাউন্ট প্রায়শই বেশি পছন্দ করা হয়, কারণ এটি অথেন্টিকেশন এবং অথরাইজেশন উভয়ই প্রদান করে। আপনি সার্ভিস অ্যাকাউন্টকে আপনার অ্যাপের ইমেল অ্যাড্রেস হিসেবে ভাবতে পারেন।

  1. API ও পরিষেবা মেনুর ক্রেডেনশিয়ালস বিভাগে ফিরে যান।
  2. Create Credentials নির্বাচন করুন, কিন্তু এবার Service Account নির্বাচন করুন।

পরিষেবা অ্যাকাউন্টের বিবরণ প্যানেল।

  1. একটি সার্ভিস অ্যাকাউন্টের নাম দিন যা এর উদ্দেশ্য বর্ণনা করে, যেমন " Natural Language Service Account "। সিস্টেম একটি আইডি সাজেস্ট করবে। আপনি একটি বিবরণও যোগ করতে পারেন। সার্ভিস অ্যাকাউন্ট সম্পর্কে আরও জানার পর, আপনি সার্ভিস অ্যাকাউন্টটিকে প্রজেক্টে অ্যাক্সেস দেবেন এবং ব্যবহারকারীদের সার্ভিস অ্যাকাউন্টে অ্যাক্সেস মঞ্জুর করবেন, কিন্তু আপাতত, সার্ভিস অ্যাকাউন্টটি তৈরি করতে শুধু 'ডান' (Done) এ ক্লিক করুন।
  2. সার্ভিস অ্যাকাউন্টের ব্যবহারের জন্য একটি কী পেয়ার তৈরি করতে, ক্লিক করুন d489bd059474ae59.png পরিষেবা অ্যাকাউন্টটি সম্পাদনা করতে।

সার্ভিস অ্যাকাউন্টস প্যানে অ্যাকাউন্টগুলোর একটি তালিকা দেখানো হচ্ছে।

আপনার পরিষেবা অ্যাকাউন্টের বিবরণ প্রদর্শিত হচ্ছে।

সার্ভিস অ্যাকাউন্ট ডিটেইলস প্যানে ন্যাচারাল ল্যাঙ্গুয়েজ সার্ভিস অ্যাকাউন্টের বিবরণ দেখানো হচ্ছে।

  1. সার্ভিস অ্যাকাউন্টের ইমেল ঠিকানাটি কপি করুন এবং ক্লাউড শেলে ফিরে যান।
  2. ক্লাউড শেলে, আপনার সার্ভিস অ্যাকাউন্টের জন্য একটি কী পেয়ার তৈরি করুন এবং সেটিকে নির্দেশ করার জন্য একটি এনভায়রনমেন্ট ভ্যারিয়েবল সেট করুন:
gcloud iam service-accounts keys create ~/key.json \
  --iam-account <your service account email>
export GOOGLE_APPLICATION_CREDENTIALS="/home/$USER/key.json"

গুগল ক্লাউড ক্রেডেনশিয়াল খুঁজে বের করার জন্য এই এনভায়রনমেন্ট ভেরিয়েবলটি ব্যবহার করে, তাই এপিআই কলে সেগুলো অন্তর্ভুক্ত করার প্রয়োজন নেই।

  1. আপনি এখন এই কমান্ডের মাধ্যমে এপিআই (API) কল করতে পারেন:
gcloud ml language analyze-entities --content="Michelangelo Caravaggio, Italian painter, is known for 'The Calling of Saint Matthew'." 

ফলাফল আগের মতোই হওয়া উচিত।

এই বিবরণগুলো বের করার জন্য অনেক API-এর বিস্তৃত ক্লায়েন্ট লাইব্রেরি রয়েছে। ক্লায়েন্ট লাইব্রেরি সম্পর্কে আরও জানতে, ক্লাউড ক্লায়েন্ট লাইব্রেরি দেখুন। এছাড়াও, আপনি যে API-গুলো ব্যবহার করেন সেগুলোর জন্য কী কী ক্লায়েন্ট লাইব্রেরি উপলব্ধ আছে তা দেখতে সেগুলোর ডকুমেন্টেশনও পড়তে পারেন।

৫. পরিষ্কার করুন

প্রোজেক্টের জন্য একটি অনিয়ন্ত্রিত এপিআই কী থাকা একটি খারাপ অভ্যাস । যদি কেউ এটির অ্যাক্সেস পেয়ে যায়, তবে সে আর কোনো প্রমাণীকরণের প্রয়োজন ছাড়াই এটি ব্যবহার করতে পারে।

এই এপিআই কী মুছে ফেলতে:

  1. ক্লিক করুন f6b6844bf5688982.png নেভিগেশন মেনু > এপিআই ও পরিষেবা > ক্রেডেনশিয়ালস
  2. API Keys-এর অধীনে, যে কী-টি মুছতে চান সেটি নির্বাচন করুন এবং তারপর ক্লিক করুন। 247adf2e1d1eae4b.png মুছে ফেলুন
  3. একইভাবে, আপনার সার্ভিস অ্যাকাউন্ট প্রাইভেট কী অরক্ষিত থাকা নিয়ে চিন্তা না করে, সার্ভিস অ্যাকাউন্টস-এর অধীনে, যে সার্ভিস অ্যাকাউন্টটি মুছতে চান সেটি নির্বাচন করুন এবং তারপর ক্লিক করুন। 247adf2e1d1eae4b.png মুছে ফেলুন

৬. অভিনন্দন

অভিনন্দন! আপনি শিখেছেন কীভাবে একটি গুগল ক্লাউড প্রজেক্ট তৈরি করতে হয় এবং প্রজেক্টের ভেতর থেকে কীভাবে একটি এপিআই (API) কল করতে হয়।