Kullanmaya Başlama / Uygulamalı / ...
Amazon SNS ve Amazon SQS ile Konular İçin Yayımlanan Mesajları Filtreleme
ÖĞRETİCİ
Genel Bakış
Bu öğreticide, Amazon Simple Notification Service’ın (Amazon SNS) mesaj filtreleme özelliğinin nasıl kullanılacağını öğreneceksiniz. Mesaj filtreleme özelliği, bir SNS konusu abonelerinin yalnızca ilgilendikleri konu mesajlarının alt kümesini almalarını sağlar.
Örneğimizde, kullanıcılar sigorta fiyat teklifi isteyecekleri bir web sitesini ziyaret ediyorlar. Bu teklif istekleri araç sigortası (otomobiller ve tekneler için olduğu gibi), hayat sigortası veya diğer sigorta türleri (konutlar için olduğu gibi) için olabilir. Bir kullanıcı bir sigorta fiyat teklifi istediğinde istek bir dizi arka uç sistemine iletilir: bir satış sistemi otomobiller ve tekneler için araç sigortasını yönetir, başka bir satış sistemi hayat sigortasını yönetir ve bir analiz sistemi tüm fiyat teklifi taleplerini işler.
Yayma Olay Bildirimleri Gönderme öğreticisinde olduğu gibi web sitesini arka uç sistemlerinden ayırmak için Amazon SNS veAmazon Simple Queue Service (Amazon SQS) kullanarak bir yayma mesajlaşma modeli kullanacağız. Olay bildirimlerini doğru arka uç sistemine almak için her bir fiyat teklifi talebi türü için ayrı bir konu oluşturabilir ve ardından yayıncınıza mesaj yönlendirme mantığı ekleyebilirsiniz. Ancak bu seçenek aşırı karmaşık yayıncılara, konuların çoğalmasına ve SNS konularınızın sağlanması ve yönetilmesinde ilave iş yüküne neden olabilir. Amazon SNS mesaj filtreleme çok daha basittir.
Bu öğreticide Amazon SNS ve Amazon SQS’yi kullanacaksınız. Her iki hizmet de AWS Ücretsiz Kullanım kapsamındadır.
AWS deneyimi
Tamamlama süresi
30 dakika
Tamamlama maliyeti (ücretsiz ölçümlerle)
Ücretsiz
Tamamlama maliyeti (gelişmiş ölçümlerle)
Gerekenler:
AWS hesabı ve doldurulmuş Amazon S3 bucket'ı
Kullanılan hizmetler
Son güncelleme:
23 Ağustos 2022
Uygulama
1. Adım: Bir SNS konusu oluşturun
İlk adımınız, bir sigorta web sitesinde fiyat teklifi istekleri oluşturulduğunda mesajları yayımlamak için bir Amazon SNS konusu oluşturmak olacaktır. Bu adaylar, bir otomobil sigortası, tekne sigortası ya da hayat sigortası ile ilgili olabilir.
a. AWS Yönetim Konsolu’nu yeni bir tarayıcı penceresinde açın, böylece bu adım adım kılavuzu açık tutabilirsiniz. Ekran yüklendiğinde kullanmaya başlamak için kullanıcı adınızı ve parolanızı girin. Ardından, arama çubuğuna bildirim girin ve hizmet konsolunu açmak için Basit Bildirim Hizmeti’ni seçin.
b. SNS konsolu açılış sayfası görünürse Genel bakış ile başlat seçeneğini belirleyin. Bu sayfayı görmezseniz sonraki adıma atlayın.
c. Gezinme bölmesinde Konular’ı seçin.
d. Konu oluştur düğmesini seçin.
e. Tür için Standart’ı seçin. Ad alanına Sigorta-Fiyat-Teklifi-İstekleri ifadesini girin, ardından ekranı aşağı kaydırın ve Konu oluştur düğmesini seçin.
f. Yeni konu Konu ayrıntıları sayfasında görünür.
2. Adım: Amazon SQS kuyruklarını oluşturun
a. Amazon SQS konsolunu yeni bir tarayıcı penceresinde açın. Amazon SQS açılış sayfası görünürse Kuyruk oluştur’u seçin. Aksi takdirde, sonraki adıma geçin.
b. Kuyruk oluştur sayfasında, Tür için Standart’ı seçili bırakın. Ad alanına Araç-Sigortası-Fiyat Teklifleri girin ve ardından ekranı aşağı kaydırıp Kuyruk oluştur düğmesini seçin.
c. Yeni kuyruk Kuyruk ayrıntıları sayfasında görünür. Kuyruklar açılış sayfasına dönmek için Kuyruklar’ı seçin.
d. Kuyruk oluştur düğmesini seçin ve şu adları kullanarak iki ek kuyruk oluşturmak için 2b ve 2c Adımlarını tekrarlayın: Hayat-Sigortası-Fiyat-Teklifleri ve Tüm-Fiyat-Teklifleri.
e. Üç kuyruğun hepsi şimdi Amazon SQS konsolunda listeleniyor.
3. Adım: Kuyrukları konuya abone edin
Artık üç SQS kuyruğunu oluşturduğunuza göre bunları yeni sigorta fiyat teklifi istekleri yayımlayan SNS konusuna abone etmeniz gerekiyor.
a. Kuyruklar listesinden Tüm-Fiyat-Teklifleri kuyruğunu seçin.
Eylemler’i seçin ve Amazon SNS konusuna abone ol seçeneğini belirleyin.
SNS konusu başka bir hesap tarafından oluşturulmuş olsaydı Konu ARN alanını kullanarak buna abone olabilirdiniz. Daha fazla bilgi için Amazon SNS belgeleri veya Amazon SNS ile Hesaplar Arası Entegrasyon blog gönderimize bakın.
c. Kaydet’i seçin.
d. Kuyruk artık SNS konusuna abone edildi. Kuyruklar sayfasına dönmek için Kuyruklar’ı seçin ve Hayat-Sigortası-Fiyat-Teklifleri ve Araç-Sigortası-Fiyat-Teklifleri kuyrukları için a-c adımlarını tekrarlayın.
4. Adım: SNS aboneliklerine filtreleme politikaları atayın
Filtreleme politikaları olmayan abonelikler, bir SNS konusu için yayımlanan tüm mesajları alırlar, bu nedenle bu senaryo için Tüm-Fiyat-Teklifleri kuyruğuna yönelik bir filtreleme politikası ayarlamanıza gerek yoktur.
Listede Sigorta-Fiyat-Teklifi-İstekleri adlı konuyu seçin.
b. Bu sizi, bu SNS konusuna abone edilen tüm SQS kuyruklarını görebileceğiniz Sigorta-Fiyat-Teklifi-İstekleri Konu ayrıntıları sayfasına götürecektir. Araç-Sigortası-Fiyat-Teklifleri kuyruğunu, ardından Düzenle’yi seçin.
c. Bu sizi Aboneliği düzenle sayfasına götürecektir. Politikayı düzenlemek için Abonelik filtresi politikası’nın solundaki oku seçin ve ardından Etkin’i seçin.
d. Görüntülenen iletişim kutusunda, JSON düzenleyiciye aşağıdaki JSON nesnesini girin:
{"sigorta_türü": ["otomobil", "tekne"]}
Değişiklikleri kaydet’i seçin.
e. Abonelik filtresi politikasının başarıyla kaydedildiğini onaylayan bir onay mesajı görüntülenir. Konu ayrıntıları sayfasına geri dönmek için Sigorta-Fiyat-Teklifi-İstekleri’ne tıklayın.
f. Şimdi, ikinci kuyruğa filtre politikasını eklemek için işlemi tekrar edeceksiniz. Hayat-Sigortası-Fiyat-Teklifleri kuyruğunu ve Düzenle’yi seçin.
g. Politikayı düzenlemek için Abonelik filtresi politikası’nın solundaki oku seçin ve ardından Etkin’i seçin.
h. Görüntülenen iletişim kutusunda, JSON düzenleyiciye aşağıdaki JSON nesnesini girin:
{"sigorta_türü": ["hayat"]}
Tüm-Fiyat-Teklifleri kuyruğu ile ilişkili abonelik için herhangi bir filtre politikası ayarlamanıza gerek yoktur. Politikanın eksik olması, bu kuyruğun bu konuya yayımlanan tüm olayları yakalamasını sağlayacaktır.
5. Adım: Konu için mesaj yayımlayın
Bunu test edelim. Bu adımda, konu için mesaj yayımlayarak olası satış oluşturma web sitenizden gelen yeni sigorta fiyat teklifi isteklerini simüle edebileceksiniz.
a. Sigorta-Fiyat-Teklifi-İstekleri konu sayfasında, Mesaj yayımla’yı seçin.
2017 Volvo S60, Montreal
Mesaj öznitelikleri kısmına:
- Tür alanında String’i seçin
- Adı alanına sigorta_türü ifadesini girin
- Değer alanına otomobil ifadesini girin
Mesaj yayımla’yı seçin.
c. Sigorta-Fiyat-Teklifi-İstekleri konu sayfasına geri dönersiniz. Mesaj yayımla seçeneğini tekrar seçin.
d. Aşağıdaki değerleri kullanarak ikinci bir mesaj oluşturun:
Mesaj öznitelikleri kısmına:
- Tür alanında String’i seçin
- Adı alanına sigorta_türü ifadesini girin
- Değer alanına hayat ifadesini girin
Mesaj yayımla’yı seçin.
e. Sigorta-Fiyat-Teklifi-İstekleri Konu sayfasına geri dönersiniz. Mesaj yayımla seçeneğini tekrar seçin.
Müstakil ev, 1500 m², Toronto
Mesaj öznitelikleri kısmına:
- Tür alanında String’i seçin
- Adı alanına sigorta_türü ifadesini girin
- Değer alanına konut ifadesini girin
Mesaj yayımla’yı seçin.
6. Adım: Mesaj teslimlerinizi doğrulayın
Gerçekleştirilen mesaj teslimlerini inceleyerek her bir sigorta fiyat teklifi isteğinin ilgili Amazon SQS mesaj kuyruğuna yönlendirildiğini doğrulamanın zamanı geldi.
a. Amazon SQS konsoluna dönün. Araç-Sigortası-Fiyat-Teklifleri kuyruğunu seçin ve Mesaj gönder ve al’ı seçin.
b. Mesajları yokla’yı seçin.
c. Otomobil sigortası fiyat teklifi (Sigorta Fiyat Teklif İsteği No. 1) ile ilgili olarak bu kuyruğa yalnızca bir mesaj gönderildiğini unutmayın. Yoklama işlemi tamamlandıktan hemen sonra Mesajlar’ın altındaki mesajı seçerek kuyruğa gönderilen mesajı görüntüleyin.
d. Mesajı görüntüleyin, ardından iletişim kutusunu kapatmak için Bitti’yi seçin.
e. İşlemi ikinci kuyruk için tekrarlayın. Hayat-Sigortası-Fiyat-Teklifleri kuyruğunu seçin ve Mesaj gönder ve al seçeneğini belirleyin.
f. Mesajları yokla’yı seçin.
g. Hayat sigortası fiyat teklifi (Sigorta Fiyat Teklif İsteği No. 2) ile ilgili olarak bu kuyruğa yalnızca bir mesaj gönderildiğini unutmayın. Yoklama işlemi tamamlandıktan hemen sonra Mesajlar’ın altındaki mesajı seçerek kuyruğa gönderilen mesajı görüntüleyin.
h. Mesajı görüntüleyin, ardından iletişim kutusunu kapatmak için Bitti’yi seçin.
i. Son olarak Tüm-Fiyat-Teklifleri kuyruğunu seçin ve Mesaj gönder ve al’ı seçin.
j. Mesajları yokla’yı seçin.
k. Üç mesajın hepsinin bu kuyruğa yayımlandığını unutmayın (Sigorta Fiyat Teklifi İstekleri No. 1, No. 2 ve No. 3).
Adım 7: Kaynakları temizleyin
Bu adımda, bu öğretici için oluşturduğunuz ve konu, abonelikler ve kuyrukları içeren kaynakları sileceksiniz. Artık kullanmadığınız kaynakları silmeniz en iyi uygulamalardandır, bu sayede sizden ücret alınmaz.
a. Amazon SNS konsolunun gezinme bölmesinde, Konular’ı seçin, sonra Sigorta-Fiyat-Teklifi-İstekleri konu bağlantısını seçin.
b. Sigorta-Fiyat-Teklifi-İstekleri konu ayrıntıları sayfasında, her bir aboneliği seçin ve Sil seçeneğini belirleyin.
c. Silme işlemini onaylamak için iletişim kutusunda Sil seçeneğini belirleyin.
d. Sigorta-Fiyat-Teklifi-İstekleri konu ayrıntıları sayfasında, Sil’i seçin.
e. İletişim kutusuna beni sil ifadesini girerek silme işlemini onaylayın ve ardından Sil’i seçin.
f. Amazon SQS konsoluna dönün. Bu öğreticide kullanılan kuyrukların her birini seçin ve Sil seçeneğini belirleyin.
g. İletişim kutusuna sil öğesini girerek silme işlemini onaylayın ve ardından Sil’i seçin.
Sonuç
Artık daha basit ve daha kolaylaştırılmış pub/sub mimarileri oluşturmak için Amazon SNS’de mesaj filtrelemeyi kullanabilirsiniz.
Mesaj filtreleme, Amazon SNS konu abonelerinin, bir konu için yayınlanan tüm mesajları almanın aksine, sadece ilgilendikleri mesajların bir alt kümesini seçerek almalarını sağlar. Bu, mesaj-filtreleme mantığının yükünü abonelerinizden ve mesaj-yönlendirme mantığının yükünü yayıncı sistemlerinizden boşaltmanıza olanak tanır.