Google Cloud Pub/Sub एक्सटेंशन

Apigee Edge के दस्तावेज़ देखे जा रहे हैं.
Apigee X के दस्तावेज़ पर जाएं.
जानकारी

वर्शन: 1.2.0

Google Cloud Pub/Sub सेवा में किसी विषय पर मैसेज पब्लिश करें.

इस कॉन्टेंट में, इस एक्सटेंशन को कॉन्फ़िगर करने और इस्तेमाल करने के बारे में जानकारी दी गई है.

ज़रूरी शर्तें

एपीआई प्रॉक्सी से इस एक्सटेंशन का इस्तेमाल करने से पहले, आपको ये काम करने होंगे:

  1. क्विकस्टार्ट: कंसोल का इस्तेमाल करना में बताए गए तरीके से, Cloud Pub/Sub विषय बनाएं.

  2. विषय मिलने के बाद, Cloud Pub/Sub विषय पर पब्लिश करने के लिए अनुमति दें. उदाहरण के लिए, विषयों पर पब्लिश करने के लिए roles/pubsub.publisher भूमिका का इस्तेमाल किया जा सकता है. Cloud Pub/Sub की भूमिकाओं के बारे में ज़्यादा जानने के लिए, ऐक्सेस कंट्रोल लेख पढ़ें.

  3. GCP Console का इस्तेमाल करके, सेवा खाते के लिए कुंजी जनरेट करें.

  4. कॉन्फ़िगरेशन रेफ़रंस का इस्तेमाल करके एक्सटेंशन को जोड़ने और कॉन्फ़िगर करने के दौरान, जनरेट हुई कुंजी वाली JSON फ़ाइल के कॉन्टेंट का इस्तेमाल करें.

Cloud Pub/Sub के बारे में जानकारी

Cloud Pub/Sub, कई लोगों को एसिंक्रोनस मैसेज भेजने की सुविधा देता है. इससे मैसेज भेजने वाले और पाने वाले अलग-अलग हो जाते हैं. Cloud Pub/Sub, कम समय में मैसेज डिलीवर करता है. साथ ही, यह लंबे समय तक मैसेजिंग की सुविधा देता है. इससे डेवलपर, Google Cloud Platform और बाहरी तौर पर होस्ट किए गए सिस्टम को तुरंत इंटिग्रेट कर पाते हैं.

अगर आपने Cloud Pub/Sub का इस्तेमाल अभी शुरू किया है, तो Cloud Pub/Sub के दस्तावेज़ में दिए गए क्विकस्टार्ट देखें.

सैंपल

यहां दिए गए उदाहरणों में, ExtensionCallout नीति का इस्तेमाल करके, Cloud Pub/Sub एक्सटेंशन की कार्रवाइयों के लिए सहायता को कॉन्फ़िगर करने का तरीका बताया गया है.

मैसेज पब्लिश करना

इस उदाहरण में, publish कार्रवाई, एक्सटेंशन के कॉन्फ़िगरेशन में बताए गए विषय पर एक सामान्य मैसेज पब्लिश करती है. publish कार्रवाई से, उस विषय में पब्लिश किए गए मैसेज का आईडी मिलता है जिसमें उसे पब्लिश किया गया था.

<?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.id</Output>
</ConnectorCallout>

Assign Message की यह नीति, एक्सटेंशन के जवाब को सेव करने वाले वैरिएबल की वैल्यू का इस्तेमाल करके, जवाब के पेलोड को असाइन करती है.

<?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.id}</Payload>
    </Set>
</AssignMessage>

इस उदाहरण में, रिस्पॉन्स डेटा को JSON के तौर पर दिखाया गया है. जैसे, यहां दिया गया डेटा.

{"messageId":"165918654986954"}

कार्रवाइयां

प्रकाशित करें

यह फ़ंक्शन, इस एक्सटेंशन के कॉन्फ़िगरेशन में बताए गए विषय पर एक मैसेज पब्लिश करता है.

सिंटैक्स

<Action>publish</Action>
<Input><![CDATA[{
  "message" : "message-to-publish"
}]]></Input>

उदाहरण

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

अनुरोध के पैरामीटर

पैरामीटर ब्यौरा टाइप डिफ़ॉल्ट ज़रूरी है
मैसेज पब्लिश करने के लिए मैसेज. स्ट्रिंग कोई नहीं. हां.

जवाब

JSON में, विषय पर पब्लिश किए गए मैसेज का आईडी होता है. उदाहरण के लिए:

{"messageId":"165918654986954"}

कॉन्फ़िगरेशन का रेफ़रंस

एपीआई प्रॉक्सी में इस्तेमाल करने के लिए इस एक्सटेंशन को कॉन्फ़िगर और डिप्लॉय करते समय, इनका इस्तेमाल करें.

एक्सटेंशन की सामान्य प्रॉपर्टी

हर प्रॉपर्टी के लिए नीचे दी गई प्रॉपर्टी मौजूद हैं.

प्रॉपर्टी जानकारी डिफ़ॉल्ट ज़रूरी है
name वह नाम, जिसे आप एक्सटेंशन का यह कॉन्फ़िगरेशन दे रहे हैं. कभी नहीं हां
packageName एक्सटेंशन पैकेज का नाम, जो Apigee Edge से दिया गया है. कभी नहीं हां
version उस एक्सटेंशन पैकेज का वर्शन नंबर जिससे आपको एक्सटेंशन कॉन्फ़िगर करना है. कभी नहीं हां
configuration आप जिस एक्सटेंशन को जोड़ रहे हैं उसके लिए खास तौर पर कॉन्फ़िगरेशन वैल्यू. इस एक्सटेंशन पैकेज के लिए प्रॉपर्टी देखें कभी नहीं हां

इस एक्सटेंशन पैकेज के लिए प्रॉपर्टी

प्रॉपर्टी ब्यौरा डिफ़ॉल्ट ज़रूरी है
topic वह विषय जिस पर पब्लिश करना है. इस वैल्यू को Pub/Sub सेवा से पाएं. जैसे, सेवा के लिए GCP कंसोल से. उदाहरण के लिए, विषय का नाम इस तरह हो सकता है projects/GCP-PROJECT-ID/topics/TOPIC-NAME कोई नहीं. हां.
credentials Apigee Edge कंसोल में डालने पर, यह आपकी सेवा खाते की कुंजी फ़ाइल का कॉन्टेंट होता है. Management API के ज़रिए भेजे जाने पर, यह सेवा खाते की कुंजी फ़ाइल से जनरेट की गई base64-encoded वैल्यू होती है. कोई नहीं. हां.