คุณกำลังดูเอกสารประกอบ Apigee Edge
ไปที่
เอกสารประกอบเกี่ยวกับ Apigee X. ข้อมูล
เวอร์ชัน: 1.3.0
เผยแพร่ข้อความไปยังหัวข้อในบริการ Google Cloud Pub/Sub
เนื้อหานี้มีข้อมูลอ้างอิงสำหรับการกำหนดค่าและการใช้ส่วนขยายนี้
ข้อกำหนดเบื้องต้น
ก่อนที่จะใช้ส่วนขยายจากพร็อกซี API โดยใช้นโยบาย ชิ้นงานข้อความไฮไลต์ คุณต้องดำเนินการต่อไปนี้
สร้างหัวข้อ Cloud Pub/Sub ตามที่อธิบายไว้ในการเริ่มต้นอย่างรวดเร็ว: การใช้คอนโซล
เมื่อมีหัวข้อแล้ว ให้ให้สิทธิ์เพื่อเผยแพร่ไปยังหัวข้อ Cloud Pub/Sub ตัวอย่างเช่น คุณสามารถใช้บทบาท
roles/pubsub.publisher
เพื่อเผยแพร่ไปยังหัวข้อ โปรดดูข้อมูลเพิ่มเติมเกี่ยวกับบทบาท Cloud Pub/Sub ที่การควบคุมการเข้าถึงใช้เนื้อหาของไฟล์ JSON คีย์ที่ได้เมื่อเพิ่มและกำหนดค่าส่วนขยายโดยใช้ข้อมูลอ้างอิงการกำหนดค่า
เกี่ยวกับ Cloud Pub/Sub
Cloud Pub/Sub ส่งข้อความแบบไม่พร้อมกันแบบหลายต่อหลายข้อความซึ่งแยกผู้ส่งและผู้รับออกจากกัน Cloud Pub/Sub ส่งข้อความแบบทนทานและตอบสนองรวดเร็ว ซึ่งช่วยให้นักพัฒนาซอฟต์แวร์ผสานรวมระบบที่โฮสต์บน Google Cloud Platform กับภายนอกได้อย่างรวดเร็ว
หากคุณเพิ่งเริ่มต้นใช้งาน Cloud Pub/Sub โปรดดูการเริ่มต้นอย่างรวดเร็วในเอกสารประกอบ Cloud Pub/Sub
ตัวอย่าง
ตัวอย่างต่อไปนี้แสดงวิธีกำหนดค่าการสนับสนุนสำหรับการดำเนินการของส่วนขยาย Cloud Pub/Sub โดยใช้นโยบาย ชิ้นงานข้อความไฮไลต์
SMS
ในตัวอย่างนี้ การดำเนินการ 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 | แอตทริบิวต์ที่กำหนดเองที่จะเพิ่มไปยังข้อความในแบบฟอร์ม: "customAttributes": {"attr1": "foo", "attr2": "bar"} |
อาร์เรย์ JSON | ไม่มี | ไม่ได้ |
คำตอบ
JSON ที่มีรหัสของข้อความตามที่เผยแพร่ในหัวข้อ เช่น
{"messageId":"165918654986954"}
ข้อมูลอ้างอิงการกำหนดค่า
ใช้สิ่งต่อไปนี้เมื่อคุณกำหนดค่าและทำให้ส่วนขยายนี้ใช้งานได้เพื่อใช้ในพร็อกซี API
คุณสมบัติทั่วไปของส่วนขยาย
พร็อพเพอร์ตี้ต่อไปนี้มีอยู่ในส่วนขยายทุกรายการ
พร็อพเพอร์ตี้ | คำอธิบาย | ค่าเริ่มต้น | ต้องระบุ |
---|---|---|---|
name |
ชื่อที่คุณกําหนดให้การกําหนดค่านี้ของส่วนขยาย | ไม่มี | ได้ |
packageName |
ชื่อแพ็กเกจส่วนขยายที่ระบุโดย Apigee Edge | ไม่มี | ได้ |
version |
หมายเลขเวอร์ชันของแพ็กเกจส่วนขยายที่คุณกําหนดค่าส่วนขยาย | ไม่มี | ได้ |
configuration |
ค่าการกําหนดค่าเฉพาะสําหรับส่วนขยายที่คุณกําลังเพิ่ม ดูพร็อพเพอร์ตี้สําหรับแพ็กเกจส่วนขยายนี้ | ไม่มี | ได้ |
พร็อพเพอร์ตี้ของแพ็กเกจส่วนขยายนี้
พร็อพเพอร์ตี้ | คำอธิบาย | ค่าเริ่มต้น | ต้องระบุ |
---|---|---|---|
topic |
หัวข้อที่จะเผยแพร่ รับค่านี้จากบริการ Pub/Sub เช่น จากคอนโซล GCP สำหรับบริการ ตัวอย่างเช่น ชื่อหัวข้ออาจอยู่ในรูปแบบ projects/GCP-PROJECT-ID/topics/TOPIC-NAME |
ไม่มี | ได้ |
credentials |
เมื่อป้อนในคอนโซล Apigee Edge นี่จะเป็นเนื้อหาของไฟล์คีย์บัญชีบริการของคุณ เมื่อส่งผ่าน API การจัดการ ค่านี้จะเป็นค่าที่เข้ารหัสฐาน 64 ซึ่งสร้างขึ้นจากไฟล์คีย์บัญชีบริการ | ไม่มี | ได้ |