شما در حال مشاهده مستندات Apigee Edge هستید.
به مستندات Apigee X مراجعه کنید . اطلاعات
نسخه: ۱.۲.۰
پیامها را برای یک موضوع در سرویس 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 پیامرسانی با تأخیر کم و پایدار را ارائه میدهد که به توسعهدهندگان کمک میکند تا به سرعت سیستمهای میزبانی شده در پلتفرم ابری گوگل و سیستمهای خارجی را ادغام کنند.
اگر تازه کار با 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"}
اقدامات
منتشر کردن
پیامی را به موضوع مشخص شده در پیکربندی این افزونه منتشر میکند.
نحو
<Action>publish</Action>
<Input><![CDATA[{
"message" : "message-to-publish"
}]]></Input>
مثال
<Action>publish</Action>
<Input><![CDATA[
{
"message" : "My test message."
}
]]></Input>
پارامترهای درخواست
| پارامتر | توضیحات | نوع | پیشفرض | مورد نیاز |
|---|---|---|---|---|
| پیام | پیامی که باید منتشر شود. | رشته | هیچ کدام. | بله. |
پاسخ
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 مدیریت ارسال میشود، یک مقدار کدگذاری شده با base64 است که از فایل کلید حساب سرویس تولید میشود. | هیچ کدام. | بله. |