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

আপনি Apigee Edge-এর ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন
.info- তে যান।

সংস্করণ: ১.৫.১

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

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

পূর্বশর্ত

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

  1. কুইকস্টার্ট: কনসোল ব্যবহার- এ বর্ণিত পদ্ধতি অনুসরণ করে একটি ক্লাউড পাব/সাব টপিক তৈরি করুন।

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

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

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

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

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

আপনি যদি Cloud Pub/Sub-এর সাথে নতুন কাজ শুরু করে থাকেন, তাহলে Cloud Pub/Sub ডকুমেন্টেশনে থাকা কুইকস্টার্টগুলো দেখে নিন।

নমুনা

নিম্নলিখিত উদাহরণগুলিতে 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>

নিম্নলিখিত অ্যাসাইন মেসেজ পলিসিটি এক্সটেনশনের রেসপন্স সংরক্ষণকারী ভেরিয়েবলের মান ব্যবহার করে রেসপন্স পেলোড নির্ধারণ করে। মেসেজ আইডিটি আউটপুট ভেরিয়েবলের 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 ' অ্যাকশনটি যে টপিকে মেসেজটি প্রকাশ করা হয়েছে, সেই টপিকের প্রকাশিত মেসেজটির আইডি রিটার্ন করে এবং <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>

নিম্নলিখিত অ্যাসাইন মেসেজ পলিসিটি এক্সটেনশনের রেসপন্স সংরক্ষণকারী ভেরিয়েবলের মান ব্যবহার করে রেসপন্স পেলোড নির্ধারণ করে। মেসেজ আইডিটি আউটপুট ভেরিয়েবলের 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"}

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

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

সাধারণ সম্প্রসারণ বৈশিষ্ট্য

নিম্নলিখিত বৈশিষ্ট্যগুলি প্রতিটি এক্সটেনশনের জন্য উপস্থিত রয়েছে।

সম্পত্তি বর্ণনা ডিফল্ট প্রয়োজন
name আপনি এক্সটেনশনের এই কনফিগারেশনের নাম দিন। কোনোটিই নয় হ্যাঁ
packageName Apigee Edge দ্বারা প্রদত্ত এক্সটেনশন প্যাকেজের নাম। কোনোটিই নয় হ্যাঁ
version যে এক্সটেনশন প্যাকেজ থেকে আপনি একটি এক্সটেনশন কনফিগার করছেন তার সংস্করণ নম্বর। কোনোটিই নয় হ্যাঁ
configuration আপনি যে এক্সটেনশনটি যোগ করছেন তার জন্য নির্দিষ্ট কনফিগারেশন মান। এই এক্সটেনশন প্যাকেজের বৈশিষ্ট্য দেখুন কোনোটিই নয় হ্যাঁ

এই এক্সটেনশন প্যাকেজের জন্য বৈশিষ্ট্যসমূহ

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