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

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

वर्शन: 1.2.0

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

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

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

किसी API प्रॉक्सी से इस एक्सटेंशन का उपयोग करने से पहले, आपको:

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

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

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

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

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

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

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

सैंपल

नीचे दिए गए उदाहरणों में, एक्सटेंशन कॉलआउट नीति का इस्तेमाल करके, 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"}

कार्रवाइयाँ

publish

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

सिंटैक्स

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

उदाहरण

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

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

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

जवाब

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

{"messageId":"165918654986954"}

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

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

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

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

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

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

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