使用Amazon SNS发送消息时,如何使用MessageAttributes来设置发送者ID

0

【以下的问题经过翻译处理】 当我使用 Post 通过亚马逊 SNS 发送短信时,在覆盖默认 SenderID 方面遇到了问题。当我使用此内容正文(电话号码是虚拟的)发送 Post 时,它可以正常工作,但使用的是默认的 SenderID:

Message=Test&PhoneNumber=+4712345678

我的理解是,我可以添加类似于以下内容的MessageAttributes json:

{"AWS.SNS.SMS.SenderID":{"StringValue":"test","DataType":"String"}}

这会产生以下内容主体,但是当我尝试此覆盖时:

Message=Test&PhoneNumber=+4712345678&MessageAttributes=%7B%22AWS.SNS.SMS.SenderID%22:%7B%22StringValue%22:%22test%22,%22DataType%22:%22String%22%7D%7D

我会收到400 Bad Request并得到以下响应:

{"Error": {"Code": "MalformedInput", "Message": "End of list found where not expected", "Type": "Sender"}, "RequestId": "fd70e86a-79bc-5250-9e54-b3b397e2b707"}

我做错了什么? 我是否需要在Pinpoint中为SenderID创建池?

挪威(+47)不需要预注册SenderID。 我正在使用Delphi和sgcOpenApiAmazon库,它是esegece.com的sgcWebSockets的一部分。

profile picture
エキスパート
質問済み 6ヶ月前66ビュー
1回答
0

【以下的回答经过翻译处理】 最终我找出了文档的含义,通过使用带有“--debug”参数的aws CLI。以下内容主体有效:

Message=Test&PhoneNumber=+4712345678&MessageAttributes.entry.1.Name=AWS.SNS.SMS.SenderID&MessageAttributes.entry.1.Value.StringValue=test&MessageAttributes.entry.1.Value.DataType=String&

profile picture
エキスパート
回答済み 6ヶ月前

ログインしていません。 ログイン 回答を投稿する。

優れた回答とは、質問に明確に答え、建設的なフィードバックを提供し、質問者の専門分野におけるスキルの向上を促すものです。

質問に答えるためのガイドライン

関連するコンテンツ