অ্যাকশন API

অ্যাকশন এপিআই আপনার অ্যাকশন তৈরি, পরিচালনা এবং পরীক্ষা করতে সহায়তা করার জন্য এন্ডপয়েন্ট প্রদান করে।

ক্লায়েন্ট লাইব্রেরি (Node.js)

আপনি সার্ভারে সরাসরি HTTP অনুরোধ করে অ্যাকশন API RESTful পরিষেবাটি ব্যবহার করতে পারেন, আমরা একটি ক্লায়েন্ট লাইব্রেরি সরবরাহ করি যা Node.js থেকে শেষ পয়েন্টগুলি অ্যাক্সেস করা সহজ করে তোলে। অ্যাকশন এপিআই ক্লায়েন্ট লাইব্রেরি আপনাকে বিভিন্ন এন্ডপয়েন্ট ব্যবহার করে আপনার অ্যাকশন পরিচালনা ও পরীক্ষা করতে দেয়।

উদাহরণস্বরূপ, নীচের কোডটি প্রদত্ত মডেলের উপর ভিত্তি করে ব্যবহারকারীর প্রকল্পের পূর্বরূপ আপডেট করতে writePreview এন্ডপয়েন্টে একটি কল করে:

   import {ActionsSdkClient} from '@assistant/actions';
   import { promisify } from 'util';
   import * as stream from 'stream';

   const PROJECT_ID = '<PROJECT_ID>';
   const VERSION = 123;

   const projectPath = `projects/${PROJECT_ID}`;
   const versionPath = `projects/${PROJECT_ID}/versions/${VERSION}`;

    async function publishPreview(projectPath, versionPath) {
      const request = {
        parent: projectPath,
        previewSettings: {sandbox: {value: true}},
        submittedVersion: {version: versionPath}
      };

      const client = new ActionsSdkClient();
      const stream = client.writePreview(()=>{});
      stream.write(request);
      stream.end();
      const finished = promisify(stream.finished);
      await finished(stream);
    }

Actions API Node.js ক্লায়েন্ট লাইব্রেরির জন্য ইনস্টলেশন নির্দেশাবলী এবং রেফারেন্স উপাদানের জন্য, লাইব্রেরি এবং অ্যাকশন API REST রেফারেন্স ডকুমেন্টেশন দেখুন।

প্রয়োজনীয়তা

নিম্নলিখিত প্রয়োজনীয়তাগুলি অ্যাকশন এপিআই-তে করা অনুরোধগুলিতে প্রযোজ্য।

পেলোড আকারের অনুরোধ করুন

অ্যাকশন API-এ করা অনুরোধ 10 MB বা তার কম হতে হবে। এর মধ্যে রয়েছে ক্লায়েন্ট স্ট্রিমিং এন্ডপয়েন্ট, যেখানে স্ট্রীমের প্রতিটি অনুরোধ অবশ্যই 10 MB বা তার কম হতে হবে।

যদি আপনার পেলোড 10 MB ছাড়িয়ে যায়, তাহলে আপনাকে অ্যাকশন SDK সার্ভার থেকে একটি 400 ত্রুটি পাওয়া উচিত।

সর্বোত্তম অনুশীলন

আপনি যখন অ্যাকশন API ব্যবহার করেন তখন নিম্নলিখিত সর্বোত্তম অনুশীলনগুলি দৃঢ়ভাবে সুপারিশ করা হয়।

x-goog-user-project অনুরোধ শিরোনাম সেট করুন

আপনার ব্যবহারকারীদের জন্য একটি টুল বা অ্যাপ্লিকেশন তৈরি করার সময়, আপনি আপনার ক্লায়েন্ট প্রকল্পের পরিবর্তে একটি ব্যবহারকারীর প্রকল্পকে বিল করা এবং কোটা সীমার জন্য ব্যবহার করতে চাইতে পারেন। বিলিং এবং কোটার উদ্দেশ্যে একটি প্রকল্প নির্দিষ্ট করতে, x-goog-user-project অনুরোধ শিরোনাম সেট করুন।

বৈধ মান একটি বিদ্যমান Google ক্লাউড প্রকল্পের জন্য প্রকল্প আইডি
উদাহরণ x-goog-user-project: my-project
বিস্তারিত হেডারে নির্দিষ্ট করা প্রকল্পটি কোটা সীমার জন্য ব্যবহার করা হয় এবং অনুরোধের সাথে যুক্ত চার্জের জন্য বিল করা হয়।

ব্যবহারকারী-এজেন্ট অনুরোধ শিরোনাম সেট করুন

user-agent অনুরোধ শিরোনাম ব্যবহার করে একটি উপযুক্ত ব্যবহারকারী এজেন্ট সেট করুন। এটি এপিআইকে সাহায্য করে যে অনুরোধগুলি অংশীদারদের থেকে এসেছে কিনা।

পরিচিত সীমাবদ্ধতা

এই বিভাগটি অ্যাকশন API-এর পরিচিত সীমাবদ্ধতা বর্ণনা করে।

ক্লায়েন্ট স্ট্রিমিং এন্ডপয়েন্টের জন্য সময়সীমা

এই সীমাবদ্ধতা শুধুমাত্র ক্লায়েন্ট স্ট্রিমিং এন্ডপয়েন্টে আপনার করা HTTP অনুরোধের ক্ষেত্রে প্রযোজ্য। ক্লায়েন্ট লাইব্রেরি ব্যবহার করে করা অনুরোধ এই সীমাবদ্ধতা দ্বারা প্রভাবিত হয় না।

আপনি যদি WritePreview , CreateVersion , বা WriteDraft কল করার জন্য HTTP অনুরোধগুলি ব্যবহার করেন, আমরা সুপারিশ করি যে আপনি সফল না হওয়া অনুরোধগুলি পরিচালনা করার জন্য একটি টাইমআউট প্রয়োগ করুন৷

আপনি যদি একটি প্রতিক্রিয়া শিরোনাম পান যা 200 ব্যতীত একটি স্ট্যাটাস কোড নির্দিষ্ট করে, আপনার কোড একটি নির্দিষ্ট সময়ের পরে স্ট্রীমটি বন্ধ করে দেবে। এই সমস্যাটি শুধুমাত্র ক্লায়েন্ট স্ট্রিমিং এন্ডপয়েন্টকে প্রভাবিত করে। উদাহরণস্বরূপ, gactions টুল, যা অ্যাকশন API ব্যবহার করে, এর একটি 5-সেকেন্ডের সময়সীমা রয়েছে।