我正在尝试使用AWS Ruby SDK(2)在Ruby(Rails)中为SMS消息设置DefaultSenderID。我似乎无法弄清楚我需要如何设置sms属性hash。任何帮助将不胜感激。这段代码可以发送一条简单的消息(当然我遗漏了密钥等)
require 'aws-sdk'
sns = Aws::SNS::Client.new(region: 'us-east-1')
sns.publish(phone_number: 'MY_NUMBER', message: 'This is a test SMS message')
答案 0 :(得分:0)
看起来你很近,但邮件没有正确传递。从documentation您可以找到此示例。
resp = client.publish({
topic_arn: "topicARN",
target_arn: "String",
phone_number: "String",
message: "message", # required
subject: "subject",
message_structure: "messageStructure",
message_attributes: {
"String" => {
data_type: "String", # required
string_value: "String",
binary_value: "data",
},
},
})
我相信如果你做了一个小调整,它应该适合你。
require 'aws-sdk'
sns = Aws::SNS::Client.new(region: 'us-east-1')
sns.publish(phone_number: 'MY_NUMBER',
message: 'This is a test SMS message',
message_attributes: { data_type: "String" } )
希望这有帮助!
答案 1 :(得分:0)
我遇到了完全相同的问题。希望这段代码对您有帮助:
sns = Aws::SNS::Client.new(region: 'eu-west-1')
sns.set_sms_attributes(attributes: { 'DefaultSenderID' => 'Custom' })
sns.publish( phone_number: phone_number, message: message)
请注意,您所在的国家/地区应位于supported countries list。同样根据naming rules:
对于“发件人ID”,键入一个自定义ID,该ID最多包含11个字母数字 字符,包括至少一个字母,没有空格。