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

pjngdqdw  于 2023-01-04  发布在  Ruby
关注(0)|答案(3)|浏览(175)

我正在尝试用AWS Ruby SDK(2)在Ruby(Rails)中为一条SMS消息设置DefaultSenderID。我看起来不太清楚我到底需要如何设置SMS属性哈希。任何帮助都将非常感谢。这段代码用于发送一条简单的消息(当然,我省略了密钥等)

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')
xoefb8l8

xoefb8l81#

看起来你很接近了,但是消息没有被正确地传递进来。从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" } )

希望这有帮助!

lf5gs5x2

lf5gs5x22#

我也遇到过同样的问题。希望这段代码对你有所帮助:

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”,请键入最多包含11个字母数字字符的自定义ID,其中至少包含一个字母,不能包含空格。

bejyjqdl

bejyjqdl3#

就我而言

sns = Aws::SNS::Client.new(
      region: 'aws-region',
      access_key_id: 'aws-aid',
      secret_access_key: 'aws-sak'
    )

sns.publish({
    phone_number: 'phone_number',
    message: "msg",
    message_attributes: {
      "String": {
        data_type: "String",
        string_value: "String"
        }
      }
   })

相关问题