Google ক্লাউড পাব/সাব এক্সটেনশন

আপনি Apigee Edge ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশনে যান
তথ্য

সংস্করণ: 1.5.2

গুগল ক্লাউড পাব/সাব পরিষেবাতে কোনও বিষয়ে বার্তা প্রকাশ করুন।

এই বিষয়বস্তুটি এই এক্সটেনশনটি কনফিগার এবং ব্যবহারের জন্য রেফারেন্স প্রদান করে।

পূর্বশর্ত

ExtensionCallout নীতি ব্যবহার করে একটি API প্রক্সি থেকে এক্সটেনশন ব্যবহার করার আগে, আপনাকে অবশ্যই:

  1. Quickstart: Using the console -এ বর্ণিত পদ্ধতিতে একটি ক্লাউড পাব/সাব বিষয় তৈরি করুন।

  2. একবার আপনার কাছে বিষয় হয়ে গেলে, আপনার ক্লাউড পাব/সাব বিষয়ে প্রকাশের অনুমতি দিন । উদাহরণস্বরূপ, আপনি বিষয়গুলিতে প্রকাশ করার জন্য roles/pubsub.publisher ভূমিকা ব্যবহার করতে পারেন। ক্লাউড পাব/সাব ভূমিকা সম্পর্কে আরও জানতে, অ্যাক্সেস নিয়ন্ত্রণ দেখুন।

  3. পরিষেবা অ্যাকাউন্টের জন্য একটি কী তৈরি করতে GCP কনসোল ব্যবহার করুন

  4. কনফিগারেশন রেফারেন্স ব্যবহার করে এক্সটেনশন যোগ এবং কনফিগার করার সময় ফলাফল কী JSON ফাইলের বিষয়বস্তু ব্যবহার করুন।

ক্লাউড পাব/সাব সম্পর্কে

ক্লাউড পাব/সাব বহু-থেকে-অনেক, অ্যাসিঙ্ক্রোনাস মেসেজিং প্রদান করে যা প্রেরক এবং প্রাপকদের আলাদা করে। ক্লাউড পাব/সাব কম-বিলম্বিত, টেকসই মেসেজিং প্রদান করে যা ডেভেলপারদের Google ক্লাউড প্ল্যাটফর্মে এবং বহিরাগতভাবে হোস্ট করা সিস্টেমগুলিকে দ্রুত সংহত করতে সহায়তা করে।

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

নমুনা

নিম্নলিখিত উদাহরণগুলি ExtensionCallout নীতি ব্যবহার করে ক্লাউড পাব/সাব এক্সটেনশন অ্যাকশনের জন্য সমর্থন কীভাবে কনফিগার করতে হয় তা ব্যাখ্যা করে।

টেক্সট মেসেজ

এই উদাহরণে, publish ক্রিয়াটি এক্সটেনশনের কনফিগারেশনে নির্দিষ্ট করা একটি বিষয়ে একটি সাধারণ স্ট্রিং হিসাবে একটি বার্তা প্রকাশ করে। publish ক্রিয়াটি যে বিষয়ে প্রকাশিত হয়েছিল সেই বিষয়ে প্রকাশিত বার্তার আইডি ফেরত দেয় এবং <Output> ট্যাগ দ্বারা নির্দিষ্ট করা ভেরিয়েবলে এটি লিখে:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ConnectorCallout async="false" continueOnError="true" enabled="true" name="Publish-Message">
    <DisplayName>Publish Message</DisplayName>
    <Connector>cloud-pub-sub-extension-example</Connector>
    <Action>publish</Action>
    <Input><![CDATA[
      {
          "message" : "My test message."
      }
    ]]></Input>
    <Output>topic.message</Output>
</ConnectorCallout>

নিম্নলিখিত Assign Message নীতিটি এক্সটেনশনের প্রতিক্রিয়া সংরক্ষণ করে প্রতিক্রিয়া পেলোড বরাদ্দ করার জন্য ভেরিয়েবলের মান ব্যবহার করে। বার্তা আইডি আউটপুট ভেরিয়েবলের messageId বৈশিষ্ট্যে সংরক্ষণ করা হয়:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssignMessage async="false" continueOnError="false" enabled="true" name="Get-Topic-Message-ID">
    <DisplayName>Get Topic Message ID</DisplayName>
    <AssignTo type="response" createNew="false"/>
    <Set>
        <Payload contentType="application/json">{topic.message.messageId}</Payload>
    </Set>
</AssignMessage>

প্রতিক্রিয়া তথ্য JSON হিসাবে ফেরত পাঠানো হয়:

{"messageId":"165918654986954"}

অতএব, topic.message.messageId এর মান হল 165918654986954।

JSON বার্তা

এই উদাহরণে, publish ক্রিয়াটি এক্সটেনশনের কনফিগারেশনে নির্দিষ্ট একটি বিষয়ে JSON হিসাবে একটি বার্তা প্রকাশ করে। publish ক্রিয়াটি যে বিষয়ে প্রকাশিত হয়েছিল সেই বিষয়ে প্রকাশিত বার্তার ID ফেরত দেয় এবং <Output> ট্যাগ দ্বারা নির্দিষ্ট ভেরিয়েবলে এটি লিখে:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ConnectorCallout async="false" continueOnError="true" enabled="true" name="Publish-Message">
    <DisplayName>Publish Message</DisplayName>
    <Connector>cloud-pub-sub-extension-example</Connector>
    <Action>publish</Action>
    <Input><![CDATA[
      {
          "message" : { "info" : "My test message" }
      }
    ]]></Input>
    <Output>topic.message</Output>
</ConnectorCallout>

নিম্নলিখিত Assign Message নীতিটি এক্সটেনশনের প্রতিক্রিয়া সংরক্ষণ করে প্রতিক্রিয়া পেলোড বরাদ্দ করার জন্য ভেরিয়েবলের মান ব্যবহার করে। বার্তা আইডি আউটপুট ভেরিয়েবলের messageId বৈশিষ্ট্যে সংরক্ষণ করা হয়:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssignMessage async="false" continueOnError="false" enabled="true" name="Get-Topic-Message-ID">
    <DisplayName>Get Topic Message ID</DisplayName>
    <AssignTo type="response" createNew="false"/>
    <Set>
        <Payload contentType="application/json">{topic.message.messageId}</Payload>
    </Set>
</AssignMessage>

প্রতিক্রিয়া তথ্য JSON হিসাবে ফেরত পাঠানো হয়:

{"messageId":"165918654986954"}

অতএব, topic.message.messageId এর মান হল 165918654986954।

কর্ম

প্রকাশ করা

এই এক্সটেনশনের কনফিগারেশনে নির্দিষ্ট বিষয়ের উপর একটি বার্তা প্রকাশ করে।

বাক্য গঠন

<Action>publish</Action>
<Input><![CDATA[{
  "message" : "message-to-publish" | JSON-structured-data,
  "customAttributes": JSON-array
}]]></Input>

স্ট্রিং উদাহরণ

<Action>publish</Action>
<Input><![CDATA[
  {
      "message" : "My test message."
  }
]]></Input>

JSON স্ট্রাকচার্ড ডেটা উদাহরণ

<Action>publish</Action>
<Input><![CDATA[
  {
      "message" : { "info" : "My test message" }
  }
]]></Input>

কাস্টম অ্যাট্রিবিউটের উদাহরণ

<Action>publish</Action>
<Input><![CDATA[
  {
      "message" : { "info" : "My test message" },
      "customAttributes": {"attr1": "foo", "attr2": "bar"}
  }
]]></Input>

অনুরোধের প্যারামিটার

প্যারামিটার বিবরণ আদর্শ ডিফল্ট প্রয়োজনীয়
বার্তা প্রকাশের জন্য বার্তা। আপনি একটি সাধারণ স্ট্রিং ব্যবহার করতে পারেন অথবা আপনার নিজস্ব ডিজাইনের JSON দিয়ে আপনার বার্তাটি গঠন করতে পারেন। স্ট্রিং অথবা JSON কোনটিই নয় হাঁ
কাস্টম অ্যাট্রিবিউটস

ফর্মে বার্তায় যোগ করার জন্য কাস্টম বৈশিষ্ট্য:

"customAttributes": {"attr1": "foo", "attr2": "bar"} .
JSON অ্যারে কোনটিই নয় না

প্রতিক্রিয়া

বিষয়ের উপর প্রকাশিত বার্তার আইডি JSON-এ থাকবে। উদাহরণস্বরূপ:

{"messageId":"165918654986954"}

কনফিগারেশন রেফারেন্স

API প্রক্সিতে ব্যবহারের জন্য এই এক্সটেনশনটি কনফিগার এবং স্থাপন করার সময় নিম্নলিখিতগুলি ব্যবহার করুন।

সাধারণ এক্সটেনশন বৈশিষ্ট্য

The following properties are present for every extension.

Property Description Default Required
name Name you're giving this configuration of the extension. None Yes
packageName Name of the extension package as given by Apigee Edge. None Yes
version Version number for the extension package from which you're configuring an extension. None Yes
configuration Configuration value specific to the extension you're adding. See Properties for this extension package None Yes

এই এক্সটেনশন প্যাকেজের বৈশিষ্ট্যাবলী

সম্পত্তি বিবরণ ডিফল্ট প্রয়োজনীয়
topic যে বিষয়ে প্রকাশ করতে হবে। Pub/Sub পরিষেবা থেকে এই মানটি পান, যেমন পরিষেবার GCP কনসোল থেকে। উদাহরণস্বরূপ, বিষয়ের নামটি projects/GCP-PROJECT-ID/topics/TOPIC-NAME আকারে আসতে পারে। কোনোটিই নয়। হ্যাঁ।
credentials Apigee Edge কনসোলে প্রবেশ করালে, এটি আপনার পরিষেবা অ্যাকাউন্ট কী ফাইলের বিষয়বস্তু। যখন পরিচালনা API এর মাধ্যমে পাঠানো হয়, তখন এটি পরিষেবা অ্যাকাউন্ট কী ফাইল থেকে তৈরি একটি base64-এনকোডেড মান। কোনোটিই নয়। হ্যাঁ।