ডকুমেন্ট সার্চ ও রিকভার করা

এই ডকুমেন্ট থেকে আপনি জানতে পারবেন যে কীভাবে Developer Knowledge API ব্যবহার করে প্রোগ্র্যামাটিক উপায়ে Google-এর পাবলিক ডেভেলপার ডকুমেন্টেশন সার্চ ও রিট্রিভ করতে হয়। API, ম্যানুয়ালি ওয়েব পেজ স্ক্র্যাপ করার পরিবর্তে, আপনার অ্যাপ্লিকেশনকে প্রাসঙ্গিক টেক্সট স্নিপেট খুঁজতে বা সম্পূর্ণ Markdown ডকুমেন্ট আনতে সাহায্য করে।

এই ডকুমেন্টে, আপনি নিম্নলিখিত টাস্কের উদাহরণ দেখতে পাবেন:

  • ডকুমেন্টেশন কর্পাস সার্চ করা হচ্ছে।
  • সার্চ ফলাফল পৃষ্ঠাগুলির মধ্যে নেভিগেট করা।
  • আপনার সার্চে জটিল ফিল্টার প্রয়োগ করা।
  • সম্পূর্ণ ডকুমেন্ট কন্টেন্ট ফিরিয়ে আনা।
  • লেটেন্সি কমাতে রেসপন্স পেলোড অপ্টিমাইজ করা।

শুরু করার আগে, আপনার পছন্দের টুলের জন্য এনভায়রনমেন্ট সেট-আপ করুন:

gcloud

gcloud CLI ইনস্টল ও কনফিগার করুন এবং Developer Knowledge API চালু করুন।

REST

API চালু করুন এবং Developer Knowledge API কী তৈরি করুন। তারপর, এনভায়রনমেন্ট ভেরিয়েবলে আপনার কী সেভ করুন:

export DEVELOPERKNOWLEDGE_API_KEY="YOUR_API_KEY"

আপনার Developer Knowledge API key দিয়ে YOUR_API_KEY পরিবর্তন করুন।

ডকুমেন্ট সার্চ করা

কোয়েরি স্ট্রিংয়ের সাথে ম্যাচ করে এমন ডকুমেন্ট চ্যাঙ্ক খুঁজে পেতে gcloud developer-knowledge documents search-chunks কমান্ড বা documents.searchDocumentChunks REST পদ্ধতি ব্যবহার করুন। ফলাফলে ম্যাচ করা ডকুমেন্ট থেকে কন্টেন্টের অংশ অন্তর্ভুক্ত থাকে, এর পাশাপাশি parent রেফারেন্সও থাকে যা আপনি সেইসব ডকুমেন্টের সম্পূর্ণ কন্টেন্ট রিট্রিভ করতে ব্যবহার করতে পারেন।

নিচে দেওয়া উদাহরণে "BigQuery" শব্দটির সাথে ম্যাচ করা ডকুমেন্ট সার্চ করা হয়েছে:

gcloud

gcloud developer-knowledge documents search-chunks \
  --query="BigQuery"

REST

curl "https://developerknowledge.googleapis.com/v1/documents:searchDocumentChunks?query=BigQuery&key=$DEVELOPERKNOWLEDGE_API_KEY"

আউটপুটটি নিচে উল্লেখ করা আউটপুটের মতো:

{
  "results": [
    {
      "parent": "documents/docs.cloud.google.com/bigquery/docs/introduction",
      "id": "chunk_0",
      "content": "BigQuery is a fully managed enterprise data warehouse...",
      "document": {
        "name": "documents/docs.cloud.google.com/bigquery/docs/introduction",
        "uri": "https://docs.cloud.google.com/bigquery/docs/introduction",
        "title": "BigQuery overview",
        "dataSource": "docs.cloud.google.com",
        "updateTime": "2025-01-15T12:00:00Z"
      },
      "relevanceScore": 0.92
    }
  ]
}

results তালিকায় প্রতিটি ফলাফলে এগুলি অন্তর্ভুক্ত থাকে:

  • parent: ডকুমেন্টের রিসোর্স নাম (যেমন, documents/docs.cloud.google.com/bigquery/docs/introduction)।
  • id: ডকুমেন্টের মধ্যে থাকা চ্যাঙ্ক শনাক্তকারী (যেমন, chunk_0)।
  • content: ডকুমেন্টের সাথে ম্যাচ করা টেক্সট স্নিপেট।
  • document: সোর্স ডকুমেন্ট সম্পর্কিত মেটাডেটা, যেমন এর title, uri, dataSource ও updateTime।
  • relevanceScore: সার্চ কোয়েরির সাথে চঙ্কের প্রাসঙ্গিকতা স্কোর, [0.0, 1.0] রেঞ্জের মধ্যে।

রেসপন্স স্কিমা ও উপলভ্য সব মেটাডেটা ফিল্ড সম্পর্কে আরও জানতে, documents.searchDocumentChunks API রেফারেন্স দেখুন।

সার্চ ফলাফলকে পৃষ্ঠা হিসেবে দেখানো

কোনও সার্চ কোয়েরির উত্তরে একাধিক ম্যাচ পাওয়া গেলে, আপনি পেজিনেশন প্যারামিটার ব্যবহার করে ফলাফলের সেটের মধ্যে নেভিগেট করতে পারবেন:

  • --page-size (gcloud CLI) বা pageSize (পূর্ণসংখ্যা): পৃষ্ঠা পিছু সর্বাধিক কতগুলি ফলাফল দেখানো হবে তা নির্দিষ্ট করে। নির্দিষ্ট না করা থাকলে, API ডিফল্ট হিসেবে পাঁচটি ফলাফল দেখায়। সর্বাধিক অনুমোদিত মান হল ১০০; ১০০-এর বেশি মান হলে সেটিকে ১০০ হিসেবেই গণ্য করা হবে।
  • --limit (gcloud CLI) বা pageToken (স্ট্রিং): gcloud CLI-তে, পৃষ্ঠা জুড়ে ফেরত আসা ফলাফলের মোট সংখ্যা নিয়ন্ত্রণ করতে --limit ব্যবহার করুন। REST অনুরোধে, ফলাফলের পরবর্তী পৃষ্ঠা পেতে, আগের উত্তরে পাওয়া pageToken ভ্যালু পাস করুন।

gcloud

প্রতি পৃষ্ঠায় ফলাফলের সংখ্যা এবং ফিরে আসা ফলাফলের মোট সংখ্যা নিয়ন্ত্রণ করতে --page-size এবং --limit ফ্ল্যাগ পাস করুন:

gcloud developer-knowledge documents search-chunks \
  --query="BigQuery" \
  --page-size=5 \
  --limit=10

REST

  1. প্রথম পৃষ্ঠার জন্য অনুরোধ করতে, আপনার অনুরোধে pageSize প্যারামিটার পাস করুন:

    curl "https://developerknowledge.googleapis.com/v1/documents:searchDocumentChunks?query=BigQuery&pageSize=5&key=$DEVELOPERKNOWLEDGE_API_KEY"
    

    অতিরিক্ত ফলাফল উপলভ্য থাকলে, উত্তরে এগুলি অন্তর্ভুক্ত থাকে: nextPageToken:

    {
      "results": [
        {
          "parent": "documents/docs.cloud.google.com/bigquery/docs/introduction",
          "id": "chunk_0",
          "content": "BigQuery is a fully managed enterprise data warehouse...",
          "document": {
            "name": "documents/docs.cloud.google.com/bigquery/docs/introduction",
            "uri": "https://docs.cloud.google.com/bigquery/docs/introduction",
            "title": "What is BigQuery?",
            "dataSource": "docs.cloud.google.com",
            "updateTime": "2025-01-15T12:00:00Z",
            "view": "DOCUMENT_VIEW_BASIC"
          },
          "relevanceScore": 0.88
        }
      ],
      "nextPageToken": "CAUQABgB"
    }
    
  2. পরবর্তী পৃষ্ঠাগুলি পেতে, আপনার পরবর্তী অনুরোধে nextPageToken-এর মান pageToken প্যারামিটারে পাস করুন:

    curl "https://developerknowledge.googleapis.com/v1/documents:searchDocumentChunks?query=BigQuery&pageSize=5&pageToken=CAUQABgB&key=$DEVELOPERKNOWLEDGE_API_KEY"
    

    ফলাফলের শেষ পৃষ্ঠায় পৌঁছে গেলে, উত্তরের মধ্যে থেকে nextPageToken বাদ দেওয়া হয়।

সার্চ ফলাফল ফিল্টার করা

সার্চ ফলাফলে কঠোর ফিল্টার প্রয়োগ করতে, gcloud CLI-তে --query-filter ফ্ল্যাগ বা REST অনুরোধে filter প্যারামিটার ব্যবহার করুন। প্রতিটি চঙ্কের জন্য পেরেন্ট ডকুমেন্টের মেটাডেটায় ফিল্টার এক্সপ্রেশন প্রয়োগ করা হয়।

ফিল্টার এক্সপ্রেশনের অক্ষর সীমা ৫০০।

কাজ করে এমন ফিল্ড

আপনি নিম্নলিখিত মূল ডকুমেন্ট ফিল্ড ব্যবহার করে আপনার সার্চ ফলাফল ফিল্টার করতে পারবেন:

  • content_length_bytes (পূর্ণসংখ্যা): ডকুমেন্টের content ফিল্ডের দৈর্ঘ্য বাইটে।
  • data_source (স্ট্রিং): ডকুমেন্টের সোর্স ডোমেন, যেমন docs.cloud.google.com বা firebase.google.com। কাজ করে এমন সব ডেটা সোর্সের জন্য কর্পাস রেফারেন্স দেখুন।
  • update_time (টাইমস্ট্যাম্প): ডকুমেন্টটি শেষবার আপডেট করার টাইমস্ট্যাম্প। ভ্যালু অবশ্যই RFC 3339 ফর্ম্যাটে হতে হবে (যেমন, "2025-01-01T00:00:00Z")।
  • uri (string): ডকুমেন্টের সম্পূর্ণ URI (যেমন, https://docs.cloud.google.com/bigquery/docs/tables)।

যেসব অপারেটর কাজ করে

ফিল্টার এক্সপ্রেশন পার্সার, ফিল্ডের ডেটার ধরনের উপর নির্ভর করে বিভিন্ন অপারেটরকে সাপোর্ট করে:

  • স্ট্রিং ফিল্ড (data_source, uri): হুবহু স্ট্রিং ম্যাচিংয়ের জন্য = (সমান) ও != (সমান নয়) কাজ করে। আংশিক, উপসর্গ ও রেগুলার এক্সপ্রেশন ম্যাচ কাজ করে না।
  • টাইমস্ট্যাম্প ফিল্ড (update_time): =, <, <=, > ও >= কাজ করে।
  • পূর্ণসংখ্যা ফিল্ড (content_length_bytes): =, !=, <, <=, > ও >=-এর সাথে কাজ করে।
  • লজিক্যাল অপারেটর: AND, OR ও NOT (বা -) ব্যবহার করে কন্ডিশন একত্রিত করুন।

ফিল্টার করার উদাহরণ

নিচের উদাহরণগুলি থেকে কীভাবে ফিল্টার এক্সপ্রেশন তৈরি করতে হয় তা জানতে পারবেন। gcloud CLI ব্যবহার করার সময়, --query-filter ফ্ল্যাগে এক্সপ্রেশন পাস করুন। curl-এর মাধ্যমে REST API কল করার সময়, filter প্যারামিটার URL-এনকোড করতে ভুলবেন না অথবা --data-urlencode ব্যবহার করুন।

একটি ডেটা সোর্স ম্যাচ করা

সার্চ ফলাফলকে একটি ডকুমেন্টেশন ডোমেনে সীমাবদ্ধ করুন:

data_source = "docs.cloud.google.com"

gcloud

gcloud developer-knowledge documents search-chunks \
  --query="Cloud Functions deployment" \
  --query-filter='data_source = "docs.cloud.google.com"'

REST

curl -G "https://developerknowledge.googleapis.com/v1/documents:searchDocumentChunks" \
  --data-urlencode "query=Cloud Functions deployment" \
  --data-urlencode 'filter=data_source = "docs.cloud.google.com"' \
  --data-urlencode "key=$DEVELOPERKNOWLEDGE_API_KEY"

একাধিক ডেটা সোর্স ম্যাচ করা

একাধিক সোর্স থেকে ডকুমেন্ট যোগ করতে OR ব্যবহার করুন:

data_source = "docs.cloud.google.com" OR data_source = "firebase.google.com"

gcloud

gcloud developer-knowledge documents search-chunks \
  --query="database" \
  --query-filter='data_source = "docs.cloud.google.com" OR data_source = "firebase.google.com"'

REST

curl -G "https://developerknowledge.googleapis.com/v1/documents:searchDocumentChunks" \
  --data-urlencode "query=database" \
  --data-urlencode 'filter=data_source = "docs.cloud.google.com" OR data_source = "firebase.google.com"' \
  --data-urlencode "key=$DEVELOPERKNOWLEDGE_API_KEY"

টাইমস্ট্যাম্প অনুযায়ী ফিল্টার করা

নির্দিষ্ট তারিখের পরে আপডেট করা কন্টেন্ট খুঁজে পেতে RFC 3339 টাইমস্ট্যাম্পের সাথে তুলনা অপারেটর ব্যবহার করুন:

update_time >= "2025-01-01T00:00:00Z"

gcloud

gcloud developer-knowledge documents search-chunks \
  --query="BigQuery" \
  --query-filter='update_time >= "2025-01-01T00:00:00Z"'

REST

curl -G "https://developerknowledge.googleapis.com/v1/documents:searchDocumentChunks" \
  --data-urlencode "query=BigQuery" \
  --data-urlencode 'filter=update_time >= "2025-01-01T00:00:00Z"' \
  --data-urlencode "key=$DEVELOPERKNOWLEDGE_API_KEY"

কন্টেন্টের দৈর্ঘ্য অনুযায়ী ফিল্টার করা

content_length_bytes-এর সাথে তুলনা অপারেটর ব্যবহার করে বাইট সাইজের উপর ভিত্তি করে ডকুমেন্ট খুঁজুন:

content_length_bytes < 5000

gcloud

gcloud developer-knowledge documents search-chunks \
  --query="Cloud Storage" \
  --query-filter='content_length_bytes < 5000'

REST

curl -G "https://developerknowledge.googleapis.com/v1/documents:searchDocumentChunks" \
  --data-urlencode "query=Cloud Storage" \
  --data-urlencode 'filter=content_length_bytes < 5000' \
  --data-urlencode "key=$DEVELOPERKNOWLEDGE_API_KEY"

ডেটা সোর্স, টাইমস্ট্যাম্প ও গ্রুপিং একত্রিত করা

নির্দিষ্ট তারিখের পরে আপডেট করা সোর্সে ফলাফল সীমাবদ্ধ করতে AND, OR এবং বন্ধনী (...) একত্রিত করুন:

(data_source = "developer.chrome.com" OR data_source = "web.dev") AND update_time >= "2025-01-01T00:00:00Z"

gcloud

gcloud developer-knowledge documents search-chunks \
  --query="service worker" \
  --query-filter='(data_source = "developer.chrome.com" OR data_source = "web.dev") AND update_time >= "2025-01-01T00:00:00Z"'

REST

curl -G "https://developerknowledge.googleapis.com/v1/documents:searchDocumentChunks" \
  --data-urlencode "query=service worker" \
  --data-urlencode 'filter=(data_source = "developer.chrome.com" OR data_source = "web.dev") AND update_time >= "2025-01-01T00:00:00Z"' \
  --data-urlencode "key=$DEVELOPERKNOWLEDGE_API_KEY"

ডেটা সোর্স বাদ দিন

নির্দিষ্ট সোর্স থেকে ফলাফল বাদ দিতে NOT বা != ব্যবহার করুন:

data_source != "firebase.google.com"

gcloud

gcloud developer-knowledge documents search-chunks \
  --query="authentication" \
  --query-filter='data_source != "firebase.google.com"'

REST

curl -G "https://developerknowledge.googleapis.com/v1/documents:searchDocumentChunks" \
  --data-urlencode "query=authentication" \
  --data-urlencode 'filter=data_source != "firebase.google.com"' \
  --data-urlencode "key=$DEVELOPERKNOWLEDGE_API_KEY"

ডকুমেন্ট ফিরিয়ে আনা

কোনও একটি ডকুমেন্টের সম্পূর্ণ কন্টেন্ট পেতে gcloud developer-knowledge documents describe কমান্ড অথবা documents.get REST পদ্ধতি ব্যবহার করুন।

নিম্নলিখিত উদাহরণটি রিসোর্স নামের মাধ্যমে একটি ডকুমেন্ট পুনরুদ্ধার করে:

gcloud

gcloud developer-knowledge documents describe \
  documents/docs.cloud.google.com/storage/docs/creating-buckets

REST

curl "https://developerknowledge.googleapis.com/v1/documents/docs.cloud.google.com/storage/docs/creating-buckets?key=$DEVELOPERKNOWLEDGE_API_KEY"

উত্তরে Document মেটাডেটা ও content ফিল্ডে সম্পূর্ণ মার্কডাউন কন্টেন্ট সহ রিসোর্স দেওয়া হয়েছে।

রিসোর্স নাম বনাম URI

Developer Knowledge API-তে ডকুমেন্ট রেফার করার সময়, রিসোর্স নেম ও ওয়েব URI-এর মধ্যে পার্থক্য মনে রাখবেন:

  • রিসোর্সের নাম (parent, name): এইভাবে ফর্ম্যাট করা হয় documents/{uri_without_scheme} (যেমন, documents/docs.cloud.google.com/storage/docs/creating-buckets)। এই মানটি gcloud developer-knowledge documents describe-এ পজিশনাল আর্গুমেন্ট হিসেবে, GetDocument-এ পাথ প্যারামিটার হিসেবে অথবা BatchGetDocuments-এর names প্যারামিটার হিসেবে পাস করুন।
  • ওয়েব URI (uri): স্কিম সহ সম্পূর্ণ ওয়েব URL (যেমন, https://docs.cloud.google.com/storage/docs/creating-buckets)। --query-filter বা filter এক্সপ্রেশন (যেমন, uri = "https://docs.cloud.google.com/storage/docs/creating-buckets") তৈরি করার সময় uri ফিল্ডের জন্য এই ফর্ম্যাট ব্যবহার করুন।

BatchGetDocuments ব্যবহার করে একাধিক ডকুমেন্ট রিট্রিভ করা

একটি API কলের মাধ্যমে নাম অনুসারে সর্বাধিক ২০টি ডকুমেন্ট পেতে documents.batchGet মেথড ব্যবহার করুন। একাধিক GetDocument অনুরোধ করার চেয়ে এটি আরও বেশি কার্যকর।

নিচে দেওয়া উদাহরণে নাম অনুযায়ী দুটি ডকুমেন্ট পাওয়া গেছে:

curl "https://developerknowledge.googleapis.com/v1/documents:batchGet?names=documents/docs.cloud.google.com/storage/docs/creating-buckets&names=documents/firebase.google.com/docs/firestore/quickstart&key=$DEVELOPERKNOWLEDGE_API_KEY"

উত্তরে আপনার অনুরোধ করা Document সম্পদের একটি তালিকা রয়েছে এবং সেগুলি সেই ক্রমে সাজানো আছে যেভাবে আপনি অনুরোধ করেছিলেন।

উত্তর পেলোড অপ্টিমাইজ করা

মার্কডাউন ফর্ম্যাটে ডকুমেন্ট কন্টেন্ট অনেক বড় হতে পারে। আপনার অ্যাপ্লিকেশনের যদি শুধু মেটাডেটা (যেমন, পৃষ্ঠার নাম, URI বা টাইমস্ট্যাম্প) বা নির্দিষ্ট ফিল্ডের প্রয়োজন হয়, তাহলে ব্যান্ডউইথ ও লেটেন্সি কমাতে আপনি পেলোড সাইজ অপ্টিমাইজ করতে পারবেন।

ডকুমেন্ট ভিউ ব্যবহার করা

gcloud CLI-তে --view ফ্ল্যাগ বা REST অনুরোধে view প্যারামিটার কন্ট্রোল করে যে কোন ফিল্ড Document মেসেজে পূরণ করা হয়।

--view ফ্ল্যাগ ও DocumentView enum নিম্নলিখিত মানগুলির সাথে কাজ করে:

  • --view=basic (gcloud CLI) বা DOCUMENT_VIEW_BASIC: শুধুমাত্র প্রাথমিক মেটাডেটা ফিল্ড (name, uri, dataSource, title, description, updateTime ও view) রিটার্ন করে। content ফিল্ড বাদ দেওয়া হয়।
  • --view=content (gcloud CLI) বা DOCUMENT_VIEW_CONTENT: মার্কডাউন content ফিল্ডের সাথে মেটাডেটা ফিল্ড রিটার্ন করে। gcloud developer-knowledge documents describe, GetDocument ও BatchGetDocuments-এর জন্য এটি ডিফল্ট।
  • --view=full (gcloud CLI) বা DOCUMENT_VIEW_FULL: সব ডকুমেন্ট ফিল্ডের মান দেখায়।

বড় Markdown কন্টেন্ট ডাউনলোড না করেই শুধুমাত্র ডকুমেন্ট মেটাডেটা পেতে, ডকুমেন্টের প্রাথমিক ভিউ নির্দিষ্ট করুন:

gcloud

gcloud developer-knowledge documents describe \
  documents/docs.cloud.google.com/storage/docs/creating-buckets \
  --view=basic

REST

curl "https://developerknowledge.googleapis.com/v1/documents/docs.cloud.google.com/storage/docs/creating-buckets?view=DOCUMENT_VIEW_BASIC&key=$DEVELOPERKNOWLEDGE_API_KEY"

এছাড়াও, আপনি BatchGetDocuments-এর সাথে view=DOCUMENT_VIEW_BASIC ব্যবহার করতে পারবেন:

curl "https://developerknowledge.googleapis.com/v1/documents:batchGet?names=documents/docs.cloud.google.com/storage/docs/creating-buckets&names=documents/firebase.google.com/docs/firestore/quickstart&view=DOCUMENT_VIEW_BASIC&key=$DEVELOPERKNOWLEDGE_API_KEY"

ফিল্ড মাস্ক ব্যবহার করা

নির্দিষ্ট ফিল্ডে রেসপন্স পেলোড আরও সীমিত করতে, স্ট্যান্ডার্ড Google API fields কোয়েরি প্যারামিটার (ফিল্ড মাস্ক) ব্যবহার করুন।

GetDocument-এ ফিল্ড ফিল্টার করা

কোনও ডকুমেন্টের শুধুমাত্র title, uri ও updateTime ফিল্ড ফিরিয়ে আনতে:

curl "https://developerknowledge.googleapis.com/v1/documents/docs.cloud.google.com/storage/docs/creating-buckets?fields=title,uri,updateTime&key=$DEVELOPERKNOWLEDGE_API_KEY"

BatchGetDocuments-এ ফিল্ড ফিল্টার করা

ব্যাচের প্রতিটি ডকুমেন্টের জন্য শুধুমাত্র নির্দিষ্ট ফিল্ড রিট্রিভ করতে:

curl "https://developerknowledge.googleapis.com/v1/documents:batchGet?names=documents/docs.cloud.google.com/storage/docs/creating-buckets&fields=documents(name,title,uri)&key=$DEVELOPERKNOWLEDGE_API_KEY"

সার্চ থেকে শুধুমাত্র id ও content, পেরেন্ট ডকুমেন্ট title ও uri, এবং nextPageToken পেতে:

curl "https://developerknowledge.googleapis.com/v1/documents:searchDocumentChunks?query=BigQuery&fields=results(id,content,document(title,uri)),nextPageToken&key=$DEVELOPERKNOWLEDGE_API_KEY"

সমস্যা ম্যানেজ করা

Developer Knowledge API স্ট্যান্ডার্ড HTTP স্ট্যাটাস কোড রিটার্ন করে। নিচে দেওয়া কার্যকরী উদাহরণগুলি ডেভেলপার নলেজ API-তে HTTP স্ট্যাটাস কোড ও তার কারণ ম্যাপ করে:

  • 400 INVALID_ARGUMENT:
    • filter এক্সপ্রেশন স্ট্রিং ৫০০ অক্ষরের বেশি।
    • update_time টাইমস্ট্যাম্পটি সঠিক নয় (RFC 3339 ফর্ম্যাট ব্যবহার করতে হবে)।
    • BatchGetDocuments অনুরোধে ২০টির বেশি ডকুমেন্টের নাম দেওয়া হয়েছে।
  • 401 UNAUTHENTICATED: অনুরোধে API কী নেই অথবা ভুল কী ব্যবহার করা হয়েছে। যাচাইকরণ দেখুন।
  • 404 NOT_FOUND: অনুরোধ করা ডকুমেন্টের নাম নেই অথবা সেটি এমন ডোমেনের সাথে সম্পর্কিত যা কর্পাসে অন্তর্ভুক্ত নেই।
  • 429 RESOURCE_EXHAUSTED: প্রোজেক্ট কোটা পেরিয়ে গেছে। কোটা ও সীমা দেখুন।

এর পরে কী করতে হবে