使用 aws sns 向印度号码发送短信
Send sms to Indian numbers using aws sns
我正在尝试使用以下代码使用 aws sns 向特定号码发送短信,但它需要一个 target/topic arn,这不适用于我,因为我想向我指定的号码发送短信在参数中设置。
$client = SnsClient::factory([
'credentials' => [
'key' => "my key",
'secret' => "my secret"
],
'region' => "us-east-1",
'version' => "latest"
]);
$sent = $client->publish(
[
'Message' => 'This is the message',
'PhoneNumber' => '+91887******7'
]
);
我找不到发布对象的确切参数。
来自Amazon SNS Publish()
documentation for PHP:
- TargetArn: 如果您没有为
TargetArn
参数指定值,则必须为 PhoneNumber
或 TopicArn
参数.
- TopicArn: 如果您没有为
TopicArn
参数指定值,则必须为 PhoneNumber
或 TargetArn
参数.
- PhoneNumber: 如果您没有为
PhoneNumber
参数指定值,则必须为 TargetArn
或 TopicArn
参数.
因此,提供 PhoneNumber
而不是 Target/Topic。
我必须更新 aws php sdk (1)。然后下面的代码工作正常 -
$sns = SnsClient::factory(array(
'credentials' => array(
'key' => 's3_key',
'secret' => 's3_secret'
),
'region' => Constants::$s3Region,
'version' => 'latest'
));
$msgattributes = [
'AWS.SNS.SMS.SenderID' => [
'DataType' => 'String',
'StringValue' => 'Klassroom',
],
'AWS.SNS.SMS.SMSType' => [
'DataType' => 'String',
'StringValue' => 'Transactional',
]
];
$payload = array(
'Message' => $message,
'PhoneNumber' => $number,
'MessageAttributes' => $msgattributes
);
$result=$sns->publish($payload);
我正在尝试使用以下代码使用 aws sns 向特定号码发送短信,但它需要一个 target/topic arn,这不适用于我,因为我想向我指定的号码发送短信在参数中设置。
$client = SnsClient::factory([
'credentials' => [
'key' => "my key",
'secret' => "my secret"
],
'region' => "us-east-1",
'version' => "latest"
]);
$sent = $client->publish(
[
'Message' => 'This is the message',
'PhoneNumber' => '+91887******7'
]
);
我找不到发布对象的确切参数。
来自Amazon SNS Publish()
documentation for PHP:
- TargetArn: 如果您没有为
TargetArn
参数指定值,则必须为PhoneNumber
或TopicArn
参数. - TopicArn: 如果您没有为
TopicArn
参数指定值,则必须为PhoneNumber
或TargetArn
参数. - PhoneNumber: 如果您没有为
PhoneNumber
参数指定值,则必须为TargetArn
或TopicArn
参数.
因此,提供 PhoneNumber
而不是 Target/Topic。
我必须更新 aws php sdk (1)。然后下面的代码工作正常 -
$sns = SnsClient::factory(array(
'credentials' => array(
'key' => 's3_key',
'secret' => 's3_secret'
),
'region' => Constants::$s3Region,
'version' => 'latest'
));
$msgattributes = [
'AWS.SNS.SMS.SenderID' => [
'DataType' => 'String',
'StringValue' => 'Klassroom',
],
'AWS.SNS.SMS.SMSType' => [
'DataType' => 'String',
'StringValue' => 'Transactional',
]
];
$payload = array(
'Message' => $message,
'PhoneNumber' => $number,
'MessageAttributes' => $msgattributes
);
$result=$sns->publish($payload);