תוסף Google Cloud Pub/Sub

אתם צופים במסמכי התיעוד של Apigee Edge.
אפשר לעבור אל מסמכי התיעוד של Apigee X.
מידע

גרסה: 1.2.0

פרסום הודעות בנושא בשירות Google Cloud Pub/Sub.

התוכן הזה מספק הפניה להגדרת התוסף הזה ולשימוש בו.

דרישות מוקדמות

לפני שמשתמשים בתוסף הזה מתוך שרת proxy של 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 באמצעות מדיניות ExtensionCallout.

פרסום הודעה

בדוגמה הזו, הפעולה 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"}

הסבר על ההגדרות

כשמגדירים ופורסים את התוסף הזה לשימוש בשרתי proxy ל-API, צריך להשתמש בפרטים הבאים.

מאפיינים נפוצים של תוספים

המאפיינים הבאים קיימים בכל תוסף.

נכס תיאור ברירת המחדל נדרש
name השם שבחרת לתצורה הזו של התוסף. ללא כן
packageName השם של חבילת התוסף כפי שהוא סופק על ידי Apigee Edge. ללא כן
version מספר הגרסה של חבילת התוסף שממנה מגדירים את התוסף. ללא כן
configuration ערך הגדרה ספציפי לתוסף שרוצים להוסיף. מאפיינים לחבילת תוספים זו ללא כן

מאפיינים של חבילת התוספים הזו

נכס תיאור ברירת מחדל חובה
topic הנושא לפרסום. אפשר לקבל את הערך הזה משירות Pub/Sub, למשל ממסוף GCP עבור השירות. לדוגמה, שם הנושא יכול להיות projects/GCP-PROJECT-ID/topics/TOPIC-NAME ללא. כן.
credentials כשמזינים אותו במסוף Apigee Edge, זה התוכן של קובץ המפתח של חשבון השירות. כששולחים את הערך הזה דרך Management API, הוא מגיע בקידוד Base64 שנוצר מקובץ המפתח של חשבון השירות. ללא. כן.