php - 使用 Amazon SNS 使用 PHP AWS SDK v2 发送 SMS 消息?

标签 php amazon-web-services amazon-sns

我继承了一个 PHP 项目,它与 AWS SDK v2 高度集成。目前无法选择使用 v3。

我的问题是如何利用 SNS 根据需要向特定号码发送短信?也就是说,我不想在某个操作发生时向订阅特定主题的一堆电话号码发送大量通知,而是想在发生操作时向特定电话号码发送通知。

我遇到了这个https://stackoverflow.com/a/41268045/664881但它似乎使用的是 AWS SDK v3。是否有与 AWS SDK v2 等效的版本?

最佳答案

我设法使其在 PHP AWS SDK v2 中工作,但您需要在源代码中添加新参数。

// update file: aws-sdk-php/src/Aws/Sdk/Resources/sns-2010-03-31.php

'Publish' => array(
    'parameters' => array(
        'PhoneNumber' => array( // new parameter
            'type' => 'string',
            'location' => 'aws.query',
        ),
    ),
),

// You just need to publish it and include the `PhoneNumber` parameter
$snsClientResult = $snsClient->publish([
    'Message' => 'YOUR_MESSAGE',
    'PhoneNumber' => 'PHONE_NUMBER',
    'MessageStructure' => 'SMS',
    'MessageAttributes' => [
        'AWS.SNS.SMS.SenderID' => [
            'DataType' => 'String',
            'StringValue' => 'SENDER_ID',
        ],
        'AWS.SNS.SMS.SMSType' => [
            'DataType' => 'String',
            'StringValue' => 'Promotional', // Transactional
        ]
    ]
]);

// Get the response
$snsClientResult['MessageId']

关于php - 使用 Amazon SNS 使用 PHP AWS SDK v2 发送 SMS 消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43191129/

相关文章:

amazon-web-services - 调用 aws cli 的用户数据脚本

mysql - Amazon EC2 上的 MySQL 数据库和 Amazon RDS 上的 MySQL 数据库有什么区别

amazon-web-services - AWS SNS 短信支出限制问题

amazon-web-services - 如何使用过滤策略从 SNS 主题中排除 cloudwatch 警报?

amazon-web-services - 为什么使用 SNS 来触发 lambda 函数,而不是 API 网关?

PHP 从数据库中获取包含 url 的字符串

php - 如何检查一个值是否已经存在于 mySQL 数据库中?

php - 使用 DOM PHP 解析跨度类文本

sql - 在 AWS Athena 中连接两个表时选择除一列之外的所有列

php - 通过互联网IP地址从一台计算机访问xampp到另一台计算机