AWS SDK for Ruby Version 3 でのやり方
https://github.com/aws/aws-sdk-ruby
IAMの設定
sns:Publish
のActionを許可しておく。Resourceは指定できないのでワイルドカード。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": "sns:Publish",
"Resource": "*"
}
]
}
コード
Gemfile で aws-sdk-sns を読み込んでおく。
gem "aws-sdk-sns"
クレデンシャルは環境変数に設定するなどしておいて、以下のコードでSMSを送信できる。
require 'aws-sdk-sns'
client = Aws::SNS::Client.new
result = client.publish(message: "test message", phone_number: "+819000000000")
result.message_id
#=> "af277fa2-5e77-517a-aebf-27f9c06114fd"
MessageAttributesを指定する場合は以下のようにする。
result = client.publish(
message: "test message",
phone_number: "+819000000000",
message_attributes: {
"AWS.SNS.SMS.SenderID" => {
data_type: "String",
string_value: "hoge"
}
}
)