【AWS】Amazon SNS ~ AWS CLI ~

■ はじめに

Github workflow の実装で、成功・失敗に関わらず、
通知機能を持たせようと考えていて、
Amazon SNS(Simple Notification Service)のAWS CLI で
実装してみたのだが、メッセージの改行で
意外にハマったのでメモっておく

なお、Amazon SNSに関する詳細は、以下の関連記事を参照のこと

Amazon SNS ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2021/06/03/175213

目次

【1】AWS CLI によるAmazon SNS へのメッセージ送信
【2】AWS CLI 仕様
 1)aws sns publish
【3】Tips:改行付きメッセージを送る

【1】AWS CLI によるAmazon SNS へのメッセージ送信

* 以下の

https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/cli-services-sns.html#cli-publish-sns-topic

# トピックのすべての受信者にメッセージを送信するには、sns publish コマンドを使用します
$ aws sns publish --topic-arn arn:aws:sns:us-west-2:123456789012:my-topic --message "Hello World!"
{
    "MessageId": "4e41661d-5eec-5ddf-8dab-2c867EXAMPLE"
}

【2】AWS CLI 仕様

* 以下の公式ドキュメントを参照

https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sns/index.html

1)aws sns publish

* トピックへのメッセージ発行
 => 要するに、メッセージ送信

https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sns/publish.html

【3】Tips:改行付きメッセージを送る

改行付きのメッセージを送るのに、以下のようにしても、
\がそのままの形になってしまい、意図した通りに送れなかった。
~~~~
aws sns publish \
    --topic-arn "arn:aws:sns:us-west-2:123456789012:my-topic" \
    -- region us-west-2 \
    --message "Hello\nWorld"
~~~~

そこで、

https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sns/publish.html#examples

にある「Example 1: To publish a message to a topic」を参考にした

1)サンプル

# Point1: echo -e で改行付きファイルを出力
# Point2: ファイル出力する際には「>」でファイル常に上書きする
echo -e "Hello World\nSecond Line" > messasge.txt

# ファイル内容確認用
cat messasge.txt

# Point3: 出力したファイルを「--message file://【送信したいメッセージファイル】」で指定
aws sns publish \
    --topic-arn "arn:aws:sns:us-west-2:123456789012:my-topic" \
    -- region us-west-2 \
    --message file://message.txt

関連記事

Amazon SNS ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2021/06/03/175213
Amazon SNS ~ 基本編 / Email ~
https://dk521123.hatenablog.com/entry/2021/10/14/092313
Amazon SNS に関するトラブル
https://dk521123.hatenablog.com/entry/2022/02/03/151049
Github Actions ~ 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2021/11/04/142835
Github Actions ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2022/06/16/151443
Github Actions ~ 基本編 ~
https://dk521123.hatenablog.com/entry/2023/12/22/195715