Amazon SNSサブスクリプションフィルターを設定してPython(boto3)からPublish
2021/08/02
上記のような構成でRocketChatを使うとき使わないときがあります。
都度都度Lambdaのトリガーをオフにするのも面倒ですし、メッセージがSQSまで行ってしまうのもコストも効率も無駄です。
ということでサブスクリプションフィルターを設定しました。
目次
サブスクリプションフィルターの設定
RocketChatに向かうキューのサブスクリプションにサブスクリプションフィルターを設定しました。
1 2 3 4 5 6 |
{ "rocket_chat": [ "valid" ] } |
対象の値が1つでも配列にしないといけないようです。
Lambda(Python boto3)
1 2 3 4 5 6 7 8 9 10 11 |
sns.publish( TopicArn=snsTopicArn, Message=json.dumps(event), MessageAttributes={ 'rocket_chat': { 'DataType': 'String', 'StringValue': 'valid' } } ) |
MessageAttributesにフィルターで設定した値をStringValueとして追加しました。
予定通りの送信と、StringValueが違う値のときは送信されないことを確認できました。
最後までお読みいただきましてありがとうございました!
「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。

「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。


開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
ad
ad
関連記事
-
-
Amazon Data Lifecycle Manager(DLM)が東京リージョンで使えるようになったのでLambdaでAMI自動取得から乗り換えた
EBSのスナップショットを自動で作成してくれるAmazon Data Lifec …
-
-
Amazon SES(Simple Email Service)でメール受信時のアクションでLambdaを実行して渡されるデータを見てみる
Amazon SESで受信したメールをS3に保存して、S3のトリガーでLambd …
-
-
Amazon BedrockがGAしたので触りました(boto3からも)
Amazon Bedrock Is Now Generally Availabl …
-
-
IAMユーザーにパスワード変更とMFA設定を許可する
組織管理のIAMで、ユーザーにMFAを使ってサインインしない限り操作は許可しない …
-
-
AWSセルフマネージドAD環境にEC2 Windowsサーバーをドメイン参加する
AWSクイックスタートのActive Directory Domain Serv …
-
-
RDSリザーブドDBインスタンスを購入しました
リザーブドインスタンス推奨事項を確認したで確認した結果、購入したほうがよさそうで …
-
-
CodeWhisperer(Visual Studio Code)でセキュリティスキャン
CodeWhispererのセキュリティスキャンを実行してみました。 画面下の[ …
-
-
ECR(Amazon Elastic Container Registry)にコンテナイメージをアップロードする
「Pandocサーバーのコンテナイメージを作成する」で作成したイメージをAWS …
-
-
RDSスナップショットのS3エクスポート結果確認
RDSのスナップショットをS3へエクスポートが日本語マネジメントコンソールでもで …
-
-
AWS Lambda(Python)で生成した文字をAmazon Connectで音声を設定して発信する
Amazon Connectから発信する電話の音声を動的に設定します。 Lamb …