php使用aws的sns服务初探(主要是短信服务)
2017-08-12 23:33
218 查看
1.引入aws-sdk-php
使用composer安装:aws/aws-sdk-php
2.使用SnsClient类,生成sns服务对象
$snsClient = new SnsClient([ 'region' => 'ap-southeast-1',//这是亚马逊在新加坡的服务器,具体要根据情况决定 'credentials' => [ 'key' => '需要登陆aws的控制台查看', 'secret' => '需要登陆aws的控制台查看', ], 'version' => '2006-03-01', //一般在aws的官方api中会有关于这个插件的版本信息 'debug' => false, ]); region:区域信息 credentials : 证书 version:版本 debug:是否是debug
3.向指定的topic订阅者(群发)发送短信
$topic = $client->createTopic([ 'Name' => 'abc' //自定义 ]); //如果已经存在一个同名的topic,则不会重新创建 //*** 设置topic显示值,第一次设置或如果topic设置在console中设置了就不用写这个了 $client->setTopicAttributes([ 'AttributeName' => 'DisplayName', //可以自定义 'AttributeValue' => 'My SNS Topic Display Name', //可以自定义 'TopicArn' => $topic中的值 //'arn:aws:sns:ap-southeast-1:...:abc', // REQUIRED ]); // 往topic中添加订阅者 $client->subscribe([ 'Endpoint' => '+86...........', //手机号或email(注意,如果是手机号,需要转换为E.164国际标准,可以考虑使用google维护的一个开源库: giggsey/libphonenumber-for-php,在github上可以找到,也可以使用composer安装) 'Protocol' => 'sms', //enum值,有sms、email等值 'TopicArn' => $topic中的值 //'arn:aws:sns:ap-southeast-1:...:abc' ]); $args = [ 'Message' => 'Hello, world!', // REQUIRED 'TopicArn' => $topic中的值 //'arn:aws:sns:ap-southeast-1:...:abc', ]; $client->Publish($args);
4.向指定的PhoneNumber发送短信
这个功能需要检查你的php-sdk的版本,如果>3.0就可以使用,如果<3.0,则不能使用下列方式向指定phoneNumber发送$topic = $client->createTopic([ 'Name' => 'abc' //自定义 ]); //如果已经存在一个同名的topic,则不会重新创建 $args = [ 'Message' => 'Hello, world!', // REQUIRED 'PhoneNumber' => '+86....', ]; $client->Publish($args);
代码示例:
类文档 : http://docs.aws.amazon.com/aws-sdk-php/v3/api/api-sns-2010-03-31.html参考示例 : https://github.com/chrisbarr/AmazonSNS-PHP-API
https://stackoverflow.com/questions/38752336/sending-sms-with-amazon-aws-services-php
相关文章推荐
- linux下使用apache http server 连接 tomcat 达到使用直接apache一个服务端口就可访问php和jsp
- 使用PHP 开发基于Web 服务的应用程序
- 使用服务程序实现PHP定时执行任务功能
- 使用 PHP 开发基于 Web 服务的应用程序
- 使用AWS服务和Geoserver创建免费云GIS:安装Geoserver到AWS Free Usage Tier
- php session使用初探
- 以AWS为例看云服务使用中的五大误区
- PHP API获取天气预报,以及使用飞信API,给好友发送短信
- 使用aws邮件服务
- 使用PHP免费发送定时短信
- 使用SmsManager服务群发短信
- 使用免费的云服务 AWS EC2
- IBM首次推出移动安全服务,主要针对在企业中使用的智能手机和平板电脑
- 使用php来实现网络服务
- 使用PHPHessian调用Java Spring Hessian暴露服务­
- 使用SmsManager服务群发短信
- 使用php来实现网络服务
- 使用PhP免费发送定时短信(用于天气预报、定时提醒、短信祝福等等)
- PHP网页服务实现注册和商店NPC管理(安装+搭建+使用+问题处理)