amazon pinpoint

2023-10-11 19:09
2024-11-29 06:41

How to Use

AWS CLI Usage

SendMessages

E メールを配信したい場合

APP_ID=
ADDRESS=
aws pinpoint send-messages --application-id $APP_ID --message-request "{\"Addresses\":{\"$ADDRESS\":{\"ChannelType\":\"EMAIL\"}},\"MessageConfiguration\":{\"EmailMessage\":{\"SimpleEmail\":{\"TextPart\":{\"Data\":\"Hello\"},\"Subject\":{\"Data\":\"Test\"}}}}}"

#=> 正常系のレスポンス
{
    "MessageResponse": {
        "ApplicationId": "...",
        "RequestId": "...",
        "Result": {
            "example@example.com": {
                "DeliveryStatus": "SUCCESSFUL",
                "MessageId": "...",
                "StatusCode": 200,
                "StatusMessage": "..."
            }
        }
    }
}

ADDRESS=bounce@simulator.amazonses.com
aws pinpoint send-messages --application-id $APP_ID --message-request "{\"Addresses\":{\"$ADDRESS\":{\"ChannelType\":\"EMAIL\"}},\"MessageConfiguration\":{\"EmailMessage\":{\"SimpleEmail\":{\"TextPart\":{\"Data\":\"Hello\"},\"Subject\":{\"Data\":\"Test\"}}}}}"

# バウンス時のレスポンス
{
    "MessageResponse": {
        "ApplicationId": "...",
        "RequestId": "...",
        "Result": {
            "bounce@simulator.amazonses.com": {
                "DeliveryStatus": "SUCCESSFUL",
                "MessageId": "...",
                "StatusCode": 200,
                "StatusMessage": "..."
            }
        }
    }
}

Q&A

サービス全般に関する Q&A

CloudTrail の記録対象 API が知りたい

CloudTrail supported services and integrations - AWS CloudTrail にて各サービスの CloudTrail 記録対象の API を確認可能

Messaging に関する Q&A

添付ファイル付きの E メールを送信したい

see: Amazon SES API を使用して raw E メールを送信する - Amazon Simple Email Service

下記のように payload.txt に添付したいファイルを Base64 エンコーディングした内容を含む形で配置し、send-email コマンドで送信する

$ cat payload.txt
From: Sender <sender@example.com>
To: Recipient<recipient@example.com>
Subject: Test Message
Content-Type: multipart/mixed; boundary=hogefuga

--hogefuga
Content-Type: text/html; charset="UTF-8"

<p>Hello.</p>

--hogefuga
Content-Type: text/plain; name="sample.txt"
Content-Description: sample.txt
Content-Disposition: attachment;filename="sample.txt";
    creation-date="Sat, 05 Aug 2017 19:35:36 GMT";
Content-Transfer-Encoding: base64

aGVsbG8K

--hogefuga--


$ DEST=test@example.com
$ aws pinpoint-email send-email --destination $DEST --content "{\"Raw\":{\"Data\":\"$(base64 -i ./payload.txt)\"}}"

Amazon Pinpoint を使ってウェブプッシュ通知の仕組みを運用したい

ひとつの構成として Amazon Pinpoint を使った Web Push 通知の送信方法 に記載のとおり FCM と Amazon Pinpoint を連携する仕組みが考えられる

see also: Web Push | moritalous blog

Copyright © 53ningen.com