כרגע מוצג התיעוד של Apigee Edge.
כניסה למסמכי התיעוד של
Apigee X. מידע
גרסה: 1.5.1
לפרסם הודעות בנושא מסוים בשירות Google Cloud Pub/Sub.
התוכן הזה מספק הפניה להגדרה של התוסף הזה ולשימוש בו.
דרישות מוקדמות
לפני שמשתמשים בתוסף משרת proxy של 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 באמצעות מדיניות היתרונות המרכזיים של תוסף.
הודעת טקסט
בדוגמה הזו, הפעולה 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>
במדיניות הבאה בנושא הקצאת הודעה, נעשה שימוש בערך של המשתנה שמאחסן את התגובה של התוסף כדי להקצות את המטען הייעודי (payload) של התגובה. מזהה ההודעה שמור במאפיין 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>
במדיניות הבאה בנושא הקצאת הודעה, נעשה שימוש בערך של המשתנה שמאחסן את התגובה של התוסף כדי להקצות את המטען הייעודי (payload) של התגובה. מזהה ההודעה שמור במאפיין 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.
פעולות
publish
פרסום הודעה בנושא שצוין בהגדרות של התוסף הזה.
תחביר
<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"}
סימוכין לתצורה
במהלך ההגדרה והפריסה של התוסף הזה לשימוש בשרתי proxy של API, צריך להשתמש בהגדרות הבאות.
מאפיינים נפוצים של תוספים
המאפיינים הבאים קיימים בכל תוסף.
נכס | תיאור | ברירת המחדל | נדרש |
---|---|---|---|
name |
השם שבחרת לתצורה הזו של התוסף. | ללא | כן |
packageName |
השם של חבילת התוסף כפי שהוא סופק על ידי Apigee Edge. | ללא | כן |
version |
מספר הגרסה של חבילת התוסף שממנה מגדירים את התוסף. | ללא | כן |
configuration |
ערך הגדרה ספציפי לתוסף שרוצים להוסיף. מאפיינים לחבילת תוספים זו | ללא | כן |
המאפיינים של חבילת התוספים הזו
נכס | התיאור | ברירת המחדל | נדרש |
---|---|---|---|
topic |
הנושא שבו רוצים לפרסם. אפשר לקבל את הערך הזה משירות Pub/Sub, למשל ממסוף GCP של השירות. לדוגמה, שם הנושא עשוי להופיע בצורה projects/GCP-PROJECT-ID/topics/TOPIC-NAME |
ללא. | כן. |
credentials |
כשמזינים אותו במסוף Apigee Edge, זהו התוכן של קובץ המפתח של חשבון השירות. כששולחים פיד דרך ממשק ה-API לניהול, הוא ערך בקידוד base64 שנוצר מקובץ המפתח של חשבון השירות. | ללא. | כן. |