Ruby AWS SNS发送短信集默认发件人ID

时间:2016-12-15 07:52:04

标签: ruby amazon-web-services

我正在尝试使用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')

2 个答案:

答案 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个字母数字   字符,包括至少一个字母,没有空格。