إضافة Google Cloud Pub/Sub

يتم الآن عرض مستندات Apigee Edge.
انتقِل إلى مستندات Apigee X.
المعلومات

الإصدار: 1.2.0

يمكنك نشر رسائل إلى موضوع في خدمة Google Cloud Pub/Sub.

يوفر هذا المحتوى مرجعًا لضبط هذه الإضافة واستخدامها.

المتطلبات الأساسية

قبل استخدام هذه الإضافة من خادم وكيل لواجهة برمجة التطبيقات، يجب:

  1. أنشِئ موضوع Cloud Pub/Sub، كما هو موضَّح في مقالة دليل البدء السريع: استخدام وحدة التحكّم.

  2. بعد تحديد الموضوع، امنح الإذن بالنشر في موضوع Cloud Pub/Sub. على سبيل المثال، يمكنك استخدام الدور roles/pubsub.publisher للنشر إلى المواضيع. لمزيد من المعلومات عن أدوار Cloud Pub/Sub، يُرجى الاطّلاع على مقالة التحكُّم في الوصول.

  3. استخدِم وحدة تحكُّم Google Cloud Platform لإنشاء مفتاح لحساب الخدمة.

  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>

تستخدم سياسة تعيين الرسالة التالية قيمة المتغيّر الذي يخزِّن استجابة الإضافة لتحديد حمولة الاستجابة.

<?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 تلقائي مطلوبة
رسالة الرسالة المطلوب نشرها. سلسلة بلا عُري نعم.

الإجابة

ملف JSON يحتوي على رقم تعريف الرسالة كما تم نشرها في الموضوع مثال:

{"messageId":"165918654986954"}

مرجع التكوين

استخدِم ما يلي عند ضبط هذه الإضافة ونشرها للاستخدام في الخوادم الوكيلة لواجهة برمجة التطبيقات.

خصائص الإضافات الشائعة

السمات التالية متاحة لكل إضافة.

الموقع الوصف تلقائي عنصر مطلوب
name الاسم الذي تُعطِه هذه الإضافة من الإضافات. لا ينطبق متوافق
packageName اسم حزمة الإضافة كما هو مُوضَّح من Apigee Edge. لا ينطبق متوافق
version رقم إصدار حزمة الإضافة التي تجري عملية إعداد الإضافة منها. لا ينطبق متوافق
configuration قيمة الإعداد المتعلقة بالإضافة التي تدرجها الاطّلاع على خصائص حزمة الإضافات هذه لا ينطبق متوافق

الخصائص لحزمة الإضافات هذه

الموقع الوصف تلقائي مطلوبة
topic الموضوع المطلوب النشر إليه احصل على هذه القيمة من خدمة النشر/الاشتراك، مثل وحدة تحكُّم Google Cloud Platform (GCP). على سبيل المثال، قد يتخذ اسم الموضوع الشكل projects/GCP-PROJECT-ID/topics/TOPIC-NAME بلا عُري نعم.
credentials عند إدخالها في وحدة تحكُّم Apigee Edge، يكون هذا هو محتوى ملف مفتاح حساب الخدمة. وعند إرسالها من خلال واجهة برمجة تطبيقات الإدارة، تكون قيمة بترميز base64 يتم إنشاؤها من ملف مفتاح حساب الخدمة. بلا عُري نعم.