ali1 / cakephp-amazon-aws-sdk
此包已被废弃且不再维护。未建议替代包。
CakePHP 组件,用于使用 Amazon SDK for PHP
dev-master
2014-08-07 23:40 UTC
Requires
This package is auto-updated.
Last update: 2020-05-17 21:09:41 UTC
README
此插件是对 Amazon 的 AWS SDK for PHP(一个非常薄的)封装,用于在 CakePHP 控制器中使用。从许多其他插件中分叉而来,但已升级以支持新 SDK 2,并从插件中删除了 SDK Vendor 以实现更兼容 composer 的安装。
警告:新 SDK 与旧版本差异很大。旧代码可能不再工作。
安装
-
添加到 composer,这将同时安装 Amazon SDK for PHP 作为依赖项
"ali1/cakephp-amazon-aws-sdk": "dev-master"
-
将组件添加到控制器中
public $components = array('Amazonsdk.Amazon');
配置
您必须将配置添加到 bootstrap.php。
Configure::write('Amazonsdk.credentials', array(
'key' => 'YOUR KEY',
'secret' => 'YOUR SECRET',
'region' => 'us-east-1'
));
别忘了用您实际的关键字替换占位符文本!
使用
在此阶段,您可以访问 AWS SDK 中所有可用的方法。以下是一个简短的列表。完整的列表可以在 (http://docs.aws.amazon.com/aws-sdk-php/latest/namespace-Aws.html) 找到。
- Amazon CloudFront
- Amazon CloudWatch
- Amazon DynamoDB
- Amazon ElastiCache
- Amazon Elastic Compute Cloud (Amazon EC2)
- Amazon Elastic MapReduce
- Amazon Relational Database Service (Amazon RDS)
- Amazon Simple Notification Service (Amazon SNS)
- Amazon Simple Queue Service (Amazon SQS)
- Amazon Simple Storage Service (Amazon S3)
- Amazon Simple Workflow Service
- Amazon SimpleDB
- Amazon Simple Email Service
- Amazon Virtual Private Cloud (Amazon VPC)
- Auto Scaling
- AWS CloudFormation
- AWS Elastic Beanstalk
- AWS Import/Export
- AWS Identity and Access Management
- Elastic Load Balancing
并非每个服务的每个方法都已彻底测试。如果您遇到任何问题,请在此处或在该存储库中自由打开问题。
可以通过组件作为其成员访问每个服务的特定对象。以下是一些示例
$this->Amazon->Sns
$this->Amazon->CloudFront
$this->Amazon->CloudWatch
$this->Amazon->Ec2
$this->Amazon->ElasticBeanstalk
$this->Amazon->Sqs
示例
-
向 SQS 队列添加作业
$this->Amazon->Sqs->sendMessage(array( 'QueueUrl' => Configure::read('SQS.queueUrl'), 'MessageBody' => json_encode(array('jobtype'=>'SendEmails', 'data'=>array('id' => 5))) ));
-
从模型或 shell 中
if (!isset($this->Amazon)) { App::import('Component', 'Amazonsdk.Amazon'); $collection = new ComponentCollection(); $Controller =& new Controller(); $this->Amazon = new AmazonComponent($collection); $this->Amazon->initialize($Controller); } $this->Amazon->Sqs->sendMessage(array( 'QueueUrl' => Configure::read('SQS.queueUrl'), 'MessageBody' => json_encode(array('jobtype'=>'SendEmails', 'data'=>array('id' => 5))) ));