使用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 個月前檢視次數 64 次
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 個月前

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南