使用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
专家
已提问 5 个月前60 查看次数
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
专家
已回答 5 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则