2017 © Pedro Peláez
 

cakephp-plugin cakephp-amazon-aws-sdk

A CakePHP component to use the Amazon SDK for PHP

image

ali1/cakephp-amazon-aws-sdk

A CakePHP component to use the Amazon SDK for PHP

  • Friday, August 8, 2014
  • by Ali1
  • Repository
  • 3 Watchers
  • 9 Stars
  • 5,106 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 21 Forks
  • 2 Open issues
  • 1 Versions
  • 3 % Grown

The README.md

Amazon SDK version 2 plugin for CakePHP 2.0+

This plugin is a (very) thin veil over Amazon's AWS SDK for PHP for use in CakePHP controllers. Forked from many others but upgraded to support new sdk 2 and removed sdk Vendor from the plugin for a more composer-compatible installation., (*1)

Warning: the new sdk is very different. Old code may no longer work., (*2)

Installation

  • Add to composer, this will also install the Amazon SDK for PHP as a dependency, (*3)

    "ali1/cakephp-amazon-aws-sdk": "dev-master"
  • Add the component to a controller, (*4)

    public $components = array('Amazonsdk.Amazon');

Configuration

You must add configuration to bootstrap.php., (*5)

    Configure::write('Amazonsdk.credentials', array(
        'key' => 'YOUR KEY',
        'secret' => 'YOUR SECRET',
        'region' => 'us-east-1'
    ));

Don't forget to replace the placeholder text with your actual keys!, (*6)

Usage

At this point you have access to all of the methods available from the AWS SDK. The following is a small list. The full list can be found at (http://docs.aws.amazon.com/aws-sdk-php/latest/namespace-Aws.html)., (*7)

  • 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

Not all of the methods for each service has been thoroughly tested. If you run into any issues, feel free to open an issue here, on the repository., (*8)

The specific objects for each service can be accessed through the component as a member of it. Here are some examples:, (*9)

  • $this->Amazon->Sns
  • $this->Amazon->CloudFront
  • $this->Amazon->CloudWatch
  • $this->Amazon->Ec2
  • $this->Amazon->ElasticBeanstalk
  • $this->Amazon->Sqs

Example

  • Add a job to the SQS queue, (*10)

    $this->Amazon->Sqs->sendMessage(array(
        'QueueUrl' => Configure::read('SQS.queueUrl'),
        'MessageBody' => json_encode(array('jobtype'=>'SendEmails', 'data'=>array('id' => 5)))
    ));
  • From a model or shell, (*11)

    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)))
    ));

Notes

The Versions

08/08 2014

dev-master

9999999-dev

A CakePHP component to use the Amazon SDK for PHP

  Sources   Download

WTFPL

The Requires