ক্লাউড রান ফাংশন (HTTP) দিয়ে শুরু করা

1. ভূমিকা

ওভারভিউ

ক্লাউড রান ফাংশন হল পরিচিত GCF ইভেন্টিং প্যারাডাইম এবং ফাংশন স্বাক্ষর ব্যবহার করে কাজের চাপ মোতায়েন করার একটি নতুন উপায়। আমাদের মতামতযুক্ত বিল্ড প্রক্রিয়া এবং স্থাপনার কনফিগারেশন ব্যবহার করার পরিবর্তে, ক্লাউড রান ফাংশন আপনাকে ক্লাউড রানে তৈরি অন্তর্নিহিত পরিষেবার উপর সরাসরি নিয়ন্ত্রণ দেয়।

ক্লাউড রান ফাংশনগুলির সাথে, আমরা ক্লাউড রান সোর্স স্থাপনের সাধারণ UX প্রদান করি, যা ডেভেলপারদের ক্লাউড রান কনফিগারেশন ব্যবহার করে তাদের কাজের চাপের উপর সম্পূর্ণ নিয়ন্ত্রণ দেয়।

এই কোডল্যাব নীচের উদাহরণগুলিতে নোডজ নমুনা ব্যবহার করে। যাইহোক, আপনি আপনার পছন্দের ভাষায় ক্লাউড ফাংশন 2nd জেনার কোড নমুনা ব্যবহার করতে পারেন:

আপনি কি শিখবেন

  • একটি HTTP অনুরোধ দ্বারা ট্রিগার করা একটি ক্লাউড রান ফাংশন কীভাবে স্থাপন করবেন

2. এনভায়রনমেন্ট ভেরিয়েবল সেট করুন এবং এপিআই সক্ষম করুন

gcloud CLI আপগ্রেড করুন

প্রথমে, আপনাকে gcloud CLI এর একটি সাম্প্রতিক সংস্করণ ইনস্টল করতে হবে। আপনি নিম্নলিখিত কমান্ডটি চালিয়ে CLI আপডেট করতে পারেন:

gcloud components update

পরিবেশ ভেরিয়েবল সেটআপ করুন

আপনি পরিবেশের ভেরিয়েবল সেট করতে পারেন যা এই কোডল্যাব জুড়ে ব্যবহার করা হবে।

PROJECT_ID=<YOUR_PROJECT_ID>
REGION=<YOUR_REGION, e.g. us-central1>

gcloud config set project $PROJECT_ID
SERVICE_NAME=crf-http-codelab

এপিআই সক্ষম করুন

আপনি এই কোডল্যাব ব্যবহার শুরু করার আগে, আপনাকে সক্রিয় করতে হবে এমন বেশ কয়েকটি API আছে। এই কোডল্যাবের জন্য নিম্নলিখিত API ব্যবহার করা প্রয়োজন। আপনি নিম্নলিখিত কমান্ডটি চালিয়ে সেই APIগুলি সক্ষম করতে পারেন:

gcloud services enable run.googleapis.com \
    cloudbuild.googleapis.com \
    storage.googleapis.com \
    artifactregistry.googleapis.com

3. একটি HTTP ফাংশন তৈরি করুন

প্রথমে, সেই ডিরেক্টরিতে সোর্স কোড এবং সিডির জন্য একটি ডিরেক্টরি তৈরি করুন।

mkdir -p cloud-run-functions/$SERVICE_NAME && cd $_

তারপর, নিম্নলিখিত বিষয়বস্তু সহ একটি package.json ফাইল তৈরি করুন:

{
    "dependencies": {
        "@google-cloud/functions-framework": "^3.0.0"
    }
}

এরপরে, নিম্নলিখিত বিষয়বস্তু সহ একটি index.js ফাইল তৈরি করুন:

const functions = require("@google-cloud/functions-framework");

functions.http("helloHttp", (req, res) => {
    res.send(`Hello ${req.query.name || req.body.name || "World"}!`);
});

4. ফাংশন স্থাপন করুন

এখন আপনি নিম্নলিখিত কমান্ডটি চালিয়ে ক্লাউড রান ফাংশন স্থাপন করতে পারেন:

gcloud beta run deploy $SERVICE_NAME \
      --source . \
      --function helloHttp \
      --region us-central1 \
      --no-allow-unauthenticated

এই কমান্ডটি আপনার ফাংশন সোর্স কোডকে প্রোডাকশন-রেডি কন্টেইনার ইমেজে রূপান্তর করতে বিল্ডপ্যাক ব্যবহার করে।

নিম্নলিখিত নোট করুন:

  • -সোর্স ফ্ল্যাগটি ক্লাউড রানকে ফাংশনটিকে একটি চালানযোগ্য কন্টেইনার ভিত্তিক পরিষেবাতে তৈরি করতে বলার জন্য ব্যবহৃত হয়
  • -ফাংশন ফ্ল্যাগ (নতুন) নতুন পরিষেবার এন্ট্রিপয়েন্ট সেট করতে ব্যবহৃত হয় যাতে আপনি যে ফাংশন স্বাক্ষর করতে চান
  • (ঐচ্ছিক) আপনার ফাংশনকে সর্বজনীনভাবে আবেদন করা থেকে বিরত রাখতে -নো-অনুমতি-অপ্রমাণিত

5. ফাংশন পরীক্ষা করুন

স্থাপনা সম্পূর্ণ হলে, আপনি পরিষেবা URL দেখতে পাবেন। ফাংশনটি চালু করতে, আপনাকে আপনার পরিচয় টোকেন বা একটি নীতির পরিচয় টোকেন সহ একটি প্রমাণীকৃত অনুরোধ পাঠাতে হবে যাতে ক্লাউড রান ইনভোকার ভূমিকা রয়েছে, নীচে দেখানো হয়েছে:

# get the Service URL
SERVICE_URL="$(gcloud run services describe $SERVICE_NAME --region us-central1 --format 'value(status.url)')"

# invoke the service
curl -H "Authorization: bearer $(gcloud auth print-identity-token)" -X GET $SERVICE_URL

6. অভিনন্দন!

কোডল্যাব সম্পূর্ণ করার জন্য অভিনন্দন!

আমরা ক্লাউড রান ফাংশনের ডকুমেন্টেশন পর্যালোচনা করার পরামর্শ দিই

আমরা কভার করেছি কি

  • একটি HTTP অনুরোধ দ্বারা ট্রিগার করা একটি ক্লাউড রান ফাংশন কীভাবে স্থাপন করবেন

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

অসাবধানতাবশত চার্জ এড়াতে, (উদাহরণস্বরূপ, যদি ক্লাউড রান পরিষেবাগুলি আপনার মাসিক ক্লাউড রান ইনভোকমেন্ট বরাদ্দের চেয়ে বিনামূল্যের স্তরে অজান্তেই বেশি বার আহ্বান করা হয়), আপনি হয় ক্লাউড রানটি মুছে ফেলতে পারেন বা ধাপ 2 এ আপনার তৈরি করা প্রকল্পটি মুছে ফেলতে পারেন৷

ক্লাউড রান ফাংশনটি মুছে ফেলতে, https://console.cloud.google.com/run-এ ক্লাউড রান ক্লাউড কনসোলে যান এবং crf-http-codelab পরিষেবাটি মুছুন।

আপনি যদি সম্পূর্ণ প্রকল্প মুছে ফেলার সিদ্ধান্ত নেন, আপনি https://console.cloud.google.com/cloud-resource-manager- এ যেতে পারেন, ধাপ 2-এ আপনার তৈরি করা প্রকল্পটি নির্বাচন করুন এবং মুছুন নির্বাচন করুন৷ আপনি যদি প্রকল্পটি মুছে ফেলেন, তাহলে আপনাকে আপনার ক্লাউড SDK-এ প্রকল্পগুলি পরিবর্তন করতে হবে৷ আপনি gcloud projects list চালিয়ে সমস্ত উপলব্ধ প্রকল্পের তালিকা দেখতে পারেন।