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

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

वर्शन: 1.2.0

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

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

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

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

  1. क्विकस्टार्ट: Console का इस्तेमाल करना में बताए गए तरीके से, 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>

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

<?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 कंसोल में डालने पर, यह आपकी सेवा खाते की कुंजी फ़ाइल का कॉन्टेंट होता है. इसे मैनेजमेंट एपीआई के ज़रिए भेजने पर, यह सेवा खाते की पासकोड फ़ाइल से जनरेट की गई, Base64 में एन्कोड की गई वैल्यू होती है. कोई नहीं. हां.