यहां Apigee Edge के दस्तावेज़ देखे जा रहे हैं.
पर जाएं
Apigee X दस्तावेज़. info
वर्शन: 1.2.0
Google Cloud Pub/Sub सेवा में किसी विषय पर मैसेज पब्लिश करें.
इस कॉन्टेंट में, इस एक्सटेंशन को कॉन्फ़िगर करने और इस्तेमाल करने के बारे में जानकारी दी गई है.
ज़रूरी शर्तें
एपीआई प्रॉक्सी से इस एक्सटेंशन का इस्तेमाल करने से पहले, आपको ये काम करने होंगे:
Cloud Pub/Sub विषय बनाएं. इसके लिए, कंसोल का इस्तेमाल करना लेख पढ़ें.
विषय बनाने के बाद, पब्लिश करने की अनुमति दें अपने Cloud Pub/Sub विषय पर. उदाहरण के लिए, विषयों पर पब्लिश करने के लिए,
roles/pubsub.publisherभूमिका का इस्तेमाल किया जा सकता है. Cloud Pub/Sub की भूमिकाओं के बारे में ज़्यादा जानने के लिए, ऐक्सेस कंट्रोल लेख पढ़ें.सेवा खाते के लिए कुंजी जनरेट करने के लिए, GCP कंसोल का इस्तेमाल करें.
कॉन्फ़िगरेशन रेफ़रंस का इस्तेमाल करके, एक्सटेंशन को जोड़ने और कॉन्फ़िगर करने के दौरान, जनरेट हुई कुंजी की 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 कंसोल में डालने पर, यह आपके सेवा खाते की कुंजी वाली फ़ाइल का कॉन्टेंट होता है. मैनेजमेंट एपीआई के ज़रिए भेजने पर, यह सेवा खाते की कुंजी वाली फ़ाइल से जनरेट की गई, base64 में एनकोड की गई वैल्यू होती है. | कोई नहीं. | हां. |