في هذا البرنامج التعليمي، ستنفذ سيناريو رسائل المخرج المتشعب باستخدام خدمتي Amazon Simple Notification Service (SNS) و Amazon Simple Queue Service (SQS). في هذا السيناريو، تم «دفع» الرسائل إلى مشتركين متعددين، ما يلغي الحاجة إلى التحقق أو الاستطلاع حول التحديثات بشكل دوري ويمكّن المعالجة غير المتزامنة المتوازية للرسالة من قبل المشتركين.

لتوضيح ذلك، سنفرض أنك تطوّر تطبيق natif cloud والذي يرسل رسالة Amazon SNS إلى أحد الموضوعات كلما تم تقديم طلب على أحد المتاجر عبر الإنترنت. ستستلم كل قائمة من قوائم انتظار Amazon SQS المشتركة في ذلك الموضوع إخطارات متطابقة للطلب الجديد.

تُعد خدمات AWS التي تستخدمها في هذا البرنامج التعليمي ضمن الطبقة المجانية في AWS.

يتطلب إرسال إخطارات أحداث المخرج المتشعب على AWS الحصول على حساب

إنشاء حساب مجاني

تتضمن طبقة AWS المجانية 1000000 ناشر لخدمة Amazon Simple Notification Service وتتضمن 1000000 طلب لخدمة Amazon Simple Queue Service.

عرض تفاصيل طبقة AWS المجانية »

 

عند النقر هنا، ستفتح وحدة الإدارة في AWS في نافذة متصفح جديدة، ومن ثمّ يمكنك إبقاء هذا الدليل المفصل مفتوحًا. عندما تقوم الشاشة بالتحميل، قم بإدخال اسم المستخدم وكلمة المرور لتبدأ. ثم اكتبالإشعارفي شريط البحث وحدد Simple Notification Service لفتح وحدة التحكم في الخدمة.

tmt_send-fanout-event-notifications_1a

(انقر للتكبير/التصغير)

tmt_send-fanout-event-notifications_1a

أ. عندما تظهر صفحة وحدة تحكم SNS المنتقل إليها، فانقر فوق الخطوة التالية.

1a-sns-console-home

(انقر للتكبير/التصغير)

1a-sns-console-home

في هذه الخطوة، ستنشئ موضوع Amazon SNS. الموضوع هو قناة تواصل لإرسال الرسائل والاشتراك في الإخطارات. في هذا المثال، سيدفع تطبيق عينة تجارة إلكترونية الرسائل إلى موضوع Amazon SNS كلما تم وضع طلب جديد على المتجر الإلكتروني. 


أ.  في صفحة «إنشاء» موضوع، اكتب طلبات-جديدة، في مربع اسم الموضوع، بعد ذلك انقر إنشاء موضوع.

2a-topic-create-wf

(انقر للتكبير/التصغير)

2a-topic-create-wf

ب. تؤكد صفحة تفاصيل «الموضوع» أنه قد تم إنشاء الموضوع بنجاح.

2b-topic-create-confirm

(انقر للتكبير/التصغير)

2b-topic-create-confirm

الآن، بعد أن أنشأت الموضوع باستخدام Amazon SNS، ستنشئ قوائم انتظار Amazon SQS التي ستشترك في الموضوع.

عند اشتراكك لقوائم انتظار متعددة في أحد الموضوعات، تستلم كل قائمة قائمة انتظار إخطارات متطابقة في كل مرة يتم فيها دفع رسالة إلى الموضوع. يمكن عندئذ للخدمات المرفقة في قوائم الانتظار تلك معالجة الطلبات بصورة غير متوازنة وبالتوازي.

على سبيل المثال، يمكن لمثيل خادم Amazon EC2 المرفق في إحدى قوائم الانتظار معالجة الطلب أو تنفيذه، بينما يمكن إرفاق مثيل الخادم الآخر في مستودع البيانات لتحليل جميع الطلبات التي تم استلامها.

ولتبسيط الأمور، لن نُرفق مثيلات EC2 بالفعل إلى قوائم الانتظار في هذا البرنامج التعليمي.


أ. انقر هنا لفتح وحدة تحكم Amazon SQS في نافذة متصفح جديدة. إذا ظهرت صفحة SQS المنتقل إليها، فانقر فوق بدء الاستخدام الآن. وإن لم تظهر، فانتقل إلى الخطوة التالية.

 

tmt_send-fanout-event-notifications_3a

(انقر للتكبير)

tmt_send-fanout-event-notifications_3a

ب. ستخزّن قائمة الانتظار الأولى لدينا الطلبات لـ «خدمة المخزون» الوهمية التي تتبع المنتجات، وتضيفها وتحذفها كما يلزم من المخزون مع كل طلب.  

في الصفحةإنشاء قائمة انتظار جديدة، أدخلOrders-for-Inventory في الحقلاسم قائمة الانتظار. احتفظ بتحديد قائمة انتظار قياسية وانقر إنشاء قائمة انتظار سريع.

tmt_send-fanout-event-notifications_3b

(انقر للتكبير/التصغير)

tmt_send-fanout-event-notifications_3b

جـ. تم إنشاء قائمة الانتظار الجديدة الخاصة بك وتحديدها في قائمة قوائم الانتظار. بعد ذلك، ستنشئ قائمة انتظار ثانية للتعامل مع تحليلات الطلب.

انقر إنشاء قائمة انتظار جديدة لإنشاء قائمة انتظار أخرى لتخزين الطلبات لـ «خدمة التحليلات».

tmt_send-fanout-event-notifications_3c

(انقر للتكبير/التصغير)

tmt_send-fanout-event-notifications_3c

د. ادخل Orders-for-Analytics في الحقل اسم قائمة الانتظار، وانقر إنشاء قائمة انتظار سريع

tmt_send-fanout-event-notifications_3d

(انقر للتكبير/التصغير)

tmt_send-fanout-event-notifications_3d

هـ. تظهر قائمة الانتظار الجديدة في قائمة قوائم الانتظار.

tmt_send-fanout-event-notifications_3e

(انقر للتكبير/التصغير)

tmt_send-fanout-event-notifications_3e

الآن بعد أن أنشأت قائمتي انتظار Amazon SQS، تحتاج إلى الاشتراك لهما في موضوع Amazon SNS الذي يقوم بإرسال إخطارات الطلبات الجديدة.


أ. من قائمة قوائم الانتظار، حدد قوائم الانتظار Orders-for-Inventory وOrders-for-Analytics. من إجراءات قائمة الانتظار، حدد الاشتراك لقوائم الانتظار في موضوع.

tmt_send-fanout-event-notifications_4a

(انقر للتكبير/التصغير)

tmt_send-fanout-event-notifications_4a

ب. يتم عرض مربع الحوارالاشتراك في موضوع. من القائمة المنسدلة اختر موضوع، حدد موضوع New-Orders Amazon SNS.

يظهر موضوع SNS في القائمة لأنك قمت بإنشائه من نفس الحساب الذي استخدمته لإنشاء قوائم انتظار Amazon SQS الخاصة بك. في موضوع SNS الذي تم إنشاؤه بواسطة حساب آخر، من الممكن الاشتراك فيه عن طريق استخدام الموضوع ARN. للتعرّف على مزيدٍ من التفاصيل، يمكنك الاطِّلاع على وثائق Amazon SNS.

اترك منطقة الموضوع بلا تغيير وانقر فوقاشتراك.  

tmt_send-fanout-event-notifications_4b

(انقر للتكبير/التصغير)

tmt_send-fanout-event-notifications_4b

ج. يتم عرض مربع الحوار نتيجة الاشتراك في الموضوع. انقر فوق موافق.

tmt_send-fanout-event-notifications_4c

(انقر للتكبير/التصغير)

tmt_send-fanout-event-notifications_4c

تُعد قوائم الانتظار الخاصة بك مشتركة الآن في الموضوع. ستعهد في هذه الخطوة إلى محاكاة طلب جديد من خلال قيام تطبيق التجارة الإلكترونية الخيالي بإرسال رسالة إلى الموضوع متضمَّنة تفاصيل الطلب.


أ. في صفحة تفاصيل موضوع الطلبات الجديدة لوحدة تحكم Amazon SNS، انقر على نشر رسالة.

 

5a-topic-create-confirm

(انقر للتكبير/التصغير)

5a-topic-create-confirm

ب. تظهر صفحة نشر رسالة إلى الموضوع. في مربع الموضوع، اكتب الطلب 123-4567890-1234567 . في حقل الرسالة، أدخل النص التالي لتوضيح عينة من الطلب:

1 x عنصر واجهة مستخدم عند $29.99 USD

2 x عنصر واجهة مستخدم عند $4.99 USD

انقر على نشر رسالة. سيظهر مربع حوار للتأكيد.

 

5b-sns-send-message-wf

(انقر للتكبير/التصغير)

5b-sns-send-message-wf

بمجرد نشر رسالة جديدة، ستقوم Amazon SNS بإرسال هذه الرسالة إلى كل نقطة نهاية مشتركة في الموضوع. في سيناريو مخرج متشعب مثل هذا السيناريو، فإن قوائم انتظار Amazon SQS تُمثل نقاط النهاية.

في هذه الخطوة، ستؤكد أن قوائم الانتظار قد تلقّت إشعار الطلب الجديد عن طريق عرض الرسالة التي أرسلها الموضوع إلى قوائم الانتظار.


أ. في وحدة تحكم Amazon SQS، ضع علامة على المربع الخاص بقائمة انتظار طلبات المخزون من قائمة الانتظار. من القائمة المنسدلة إجراءات قائمة الانتظار، حدد عرض/حذف الرسائل.

 

tmt_send-fanout-event-notifications_6a

(انقر للتكبير/التصغير)

tmt_send-fanout-event-notifications_6a

ب. انقر فوق بدء استقصاء الرسائل.


tmt_send-fanout-event-notifications_6b

(انقر للتكبير/التصغير)

tmt_send-fanout-event-notifications_6b

ج. يظهر مربع حوار عرض/حذف الرسائل في طلبات المخزون.

tmt_send-fanout-event-notifications_6c

(انقر للتكبير/التصغير)

tmt_send-fanout-event-notifications_6c

د. في عمود نص الرسالة، انقر على المزيد من التفاصيل. يحتوي مربع تفاصيل الرسالة على مستند JSON الذي يتضمَّن الموضوع والرسالة التي نشرتها للموضوع.  

لقد أكّدت أن قائمة انتظار طلبات المخزون تلقّت إشعارًا بالطلب الجديد من موضوع الطلبات الجديدة.  

انقر على إغلاق.

 

tmt_send-fanout-event-notifications_6d

(انقر للتكبير/التصغير)

tmt_send-fanout-event-notifications_6d

هـ. سنفترض أن خدمة المخزون الوهمية الخاصة بنا قد انتهت من معالجة هذه الرسالة وأنه يمكننا الآن حذف الرسالة بأمان من قائمة الانتظار. 

انقر على حذف رسالة 1. للتأكيد، انقر على نعم، حذف الرسائل التي تمّ التحقق منها. ثم انقر على إغلاق.

 

tmt_send-fanout-event-notifications_6e

(انقر للتكبير/التصغير)

tmt_send-fanout-event-notifications_6e

و. كّرر الخطوات من 6أ إلى 6هـ للتأكّد من أن قائمة انتظار طلبات التحليلات قد تلقّت أيضًا إشعار الطلب الجديد.

tmt_send-fanout-event-notifications_6f

(انقر للتكبير/التصغير)

tmt_send-fanout-event-notifications_6f

في هذه الخطوة، ستحذف جميع الموارد التي أنشأتها لهذا البرنامج التعليمي، والتي تتضمَّن اشتراكات الموضوع والمواضيع وقوائم الانتظار. من أفضل الممارسات حذف الموارد التي لم تعد تستخدمها، وبالتالي لن تتكبد أي رسوم.


أ.افتح وحدة تحكم Amazon SNS وانقر على المواضيع في جزء التنقل الأيمن.

حدّد موضوع الطلبات الجديدة.

انقر على حذف لحذف المواضيع.

 

7a

(انقر للتكبير/التصغير)

7a

ب. يظهر مربع حوار التأكيد حذف. اكتب احذفني في مربع الحوار وانقر على حذف. يتمّ حذف الموضوع واشتراكاته. يمكنك الآن إغلاق نافذة متصفّح SNS (ولكن لا تقم بتسجيل الخروج حيث لا تزال بحاجة إلى حذف قوائم الانتظار في وحدة تحكم SQS).

7b

(انقر للتكبير/التصغير)

7b

ج. في وحدة تحكم Amazon SQS، حدّد قوائم انتظار طلبات المخزون وطلبات التحليل. من إجراءات قائمة الانتظار، حدّد حذف قوائم الانتظار.


tmt_send-fanout-event-notifications_7c

(انقر للتكبير/التصغير)

tmt_send-fanout-event-notifications_7c

د. يتمّ عرض مربع حوار حذف قوائم الانتظار. انقر على نعم، حذف قائمتي انتظار. يتمّ حذف قوائم الانتظار.

يمكنك الآن تسجيل الخروج من وحدة التحكم Amazon SQS.

tmt_send-fanout-event-notifications_7d

(انقر للتكبير/التصغير)

tmt_send-fanout-event-notifications_7d

لقد نفذت سيناريو مخرج متشعب باستخدام Amazon SNS وAmazon SQS. تُعد الآن جاهزًا لاستخدام Amazon SNS وAmazon SQS معًا لإرسال الرسائل إلى التطبيقات التي تتطلب إشعارًا فوريًا بالحدث أو لتخزين الرسائل مؤقتًا في قوائم انتظار Amazon SQS للتطبيقات الأخرى لمعالجتها لاحقًا.

 


الآن قد تعلمت كيفية تنفيذ إشعارات المخرج المتشعب للرسائل باستخدام Amazon Simple Notification وAmazon Simple Queue Service، ويمكنك أن تختار واحدًا من الخيارات التالية للتعمق أكثر في رسائل السحابة على AWS.

تعرّف على المزيد

احصل على نظرة عامة حول الإمكانات والمكونات وحالات الاستخدام لموضوعات الرسائل على Amazon Web Services (AWS). تفضّل بزيارة صفحة ويب Amazon SNS »

تعمّق أكثر

اكتشف طريقة تمكين التطبيقات والمستخدمين النهائيين والأجهزة لإرسال وتلقّي الإشعارات فورًا من السحابة. اقرأ الوثائق»

المشاهدة أثناء العمل

تعرّف على طريقة استخدام عملاء مثل Capital One لـ Amazon SQS وAmazon SNS لفصل التطبيقات وتوسيع نطاقها. شاهد الندوة عبر الإنترنت »

نعم
لا