API Documentation

Service/Amazon/Sqs.php

Zend Framework

LICENSE

This source file is subject to the new BSD license that is bundled with this package in the file LICENSE.txt. It is also available through the world-wide-web at this URL: http://framework.zend.com/license/new-bsd If you did not receive a copy of the license and are unable to obtain it through the world-wide-web, please send an email to license@zend.com so we can send you a copy immediately.

category
Zend  
copyright
Copyright (c) 2005-2011 Zend Technologies USA Inc. (http://www.zend.com)  
license
New BSD License  
package
Zend_Service  
subpackage
Amazon_Sqs  
version
$Id: Sqs.php 24470 2011-09-26 16:26:44Z ezimuel $  

\Zend_Service_Amazon_Sqs

Class for connecting to the Amazon Simple Queue Service (SQS)

Extends from
\Zend_Service_Amazon_Abstract
see
\http://aws.amazon.com/sqs/  
category
Zend  
copyright
Copyright (c) 2005-2011 Zend Technologies USA Inc. (http://www.zend.com)  
license
New BSD License  
package
Zend_Service  
subpackage
Amazon_Sqs  

Constants

Constant  CREATE_TIMEOUT_DEFAULT = '30'

Default timeout for createQueue() function

Properties

Propertyprotected  $_sqsApiVersion= '2009-02-01'

The API version to use

Default value2009-02-01Details
Type
Propertyprotected  $_sqsEndpoint= 'queue.amazonaws.com'

HTTP end point for the Amazon SQS service

Default valuequeue.amazonaws.comDetails
Type
Propertyprotected  $_sqsEndpoints= 'array'
Default valuearrayDetails
Type
Propertyprotected  $_sqsSignatureMethod= 'HmacSHA256'

Signature Encoding Method

Default valueHmacSHA256Details
Type
Propertyprotected  $_sqsSignatureVersion= '2'

Signature Version

Default value2Details
Type

Methods

methodpublic__construct( string $accessKey = null, string $secretKey = null, string $region = null ) : void

Constructor

The default region is us-east-1. Use the region to set it to one of the regions that is build-in into ZF. To add a new AWS region use the setEndpoint() method.

Parameters
Name Type Description
$accessKey string
$secretKey string
$region string
methodprotected_getAccessKey( ) : string

Method to fetch the Access Key

Inherited from: \Zend_Service_Amazon_Abstract::_getAccessKey()
Returns
Type Description
string
methodprotected_getSecretKey( ) : string

Method to fetch the Secret AWS Key

Inherited from: \Zend_Service_Amazon_Abstract::_getSecretKey()
Returns
Type Description
string
methodprivate_makeRequest(  $queue_url, string $action, array $params = array ) : \SimpleXMLElement

Make a request to Amazon SQS

Parameters
Name Type Description
$queue_url
$action string SQS action
$params array
Returns
Type Description
\SimpleXMLElement
methodprotected_setEndpoint( string $region ) : void

Set SQS endpoint

Checks and sets endpoint if region exists in $_sqsEndpoints. If a new SQS region is added by amazon, please use the setEndpoint function to set it.

Parameters
Name Type Description
$region string region
Throws
Exception Description
\Zend_Service_Amazon_Sqs_Exception
methodprotected_signParameters( string $queue_url,  $paramaters ) : string

Computes the RFC 2104-compliant HMAC signature for request parameters

This implements the Amazon Web Services signature, as per the following specification:

  1. Sort all request parameters (including SignatureVersion and excluding Signature, the value of which is being created), ignoring case.

  2. Iterate over the sorted list and append the parameter name (in its original case) and then its value. Do not URL-encode the parameter values before constructing this string. Do not use any separator characters when appending strings.

Parameters
Name Type Description
$queue_url string Queue URL
$paramaters
Returns
Type Description
string the signed data.
methodprotectedaddRequiredParameters( string $queue_url, array $parameters ) : array

Adds required authentication and version parameters to an array of parameters

The required parameters are: - AWSAccessKey - SignatureVersion - Timestamp - Version and - Signature

If a required parameter is already set in the $parameters array, it is overwritten.

Parameters
Name Type Description
$queue_url string Queue URL
$parameters array the array to which to add the required parameters.
Returns
Type Description
array
methodpubliccount( string $queue_url ) : integer

Return the approximate number of messages in the queue

Parameters
Name Type Description
$queue_url string Queue URL
Returns
Type Description
integer
Throws
Exception Description
\Zend_Service_Amazon_Sqs_Exception
methodpubliccreate( string $queue_name, integer $timeout = null ) : string|boolean

Create a new queue

Visibility timeout is how long a message is left in the queue "invisible" to other readers. If the message is acknowleged (deleted) before the timeout, then the message is deleted. However, if the timeout expires then the message will be made available to other queue readers.

Parameters
Name Type Description
$queue_name string queue name
$timeout integer default visibility timeout
Returns
Type Description
stringboolean
Throws
Exception Description
\Zend_Service_Amazon_Sqs_Exception
methodpublicdelete( string $queue_url ) : boolean

Delete a queue and all of it's messages

Returns false if the queue is not found, true if the queue exists

Parameters
Name Type Description
$queue_url string queue URL
Returns
Type Description
boolean
Throws
Exception Description
\Zend_Service_Amazon_Sqs_Exception
methodpublicdeleteMessage( string $queue_url, string $handle ) : boolean

Delete a message from the queue

Returns true if the message is deleted, false if the deletion is unsuccessful.

Parameters
Name Type Description
$queue_url string Queue URL
$handle string Message handle as returned by SQS
Returns
Type Description
boolean
Throws
Exception Description
\Zend_Service_Amazon_Sqs_Exception
methodpublicgetAttribute( string $queue_url, string $attribute = All ) : string

Get the attributes for the queue

Parameters
Name Type Description
$queue_url string Queue URL
$attribute string
Returns
Type Description
string
Throws
Exception Description
\Zend_Service_Amazon_Sqs_Exception
methodpublicgetEndpoint( ) : string

Get the SQS endpoint

Returns
Type Description
string
methodpublicgetEndpoints( ) : array

Get possible SQS endpoints

Since there is not an SQS webserive to get all possible endpoints, a hardcoded list is available. For the actual region list please check: http://docs.amazonwebservices.com/AWSSimpleQueueService/2009-02-01/APIReference/index.html?QueueServiceWsdlArticle.html

Returns
Type Description
array
methodpublicgetHttpClient( ) : \Zend_Http_Client
static

Gets the HTTP client object.

Inherited from: \Zend_Service_Abstract::getHttpClient()
Returns
Type Description
\Zend_Http_Client
methodpublicgetQueues( ) : array

Get an array of all available queues

Returns
Type Description
array
Throws
Exception Description
\Zend_Service_Amazon_Sqs_Exception
methodpublicreceive( string $queue_url, integer $max_messages = null, integer $timeout = null ) : array

Get messages in the queue

Parameters
Name Type Description
$queue_url string Queue name
$max_messages integer Maximum number of messages to return
$timeout integer Visibility timeout for these messages
Returns
Type Description
array
Throws
Exception Description
\Zend_Service_Amazon_Sqs_Exception
methodpublicsend( string $queue_url, string $message ) : string

Send a message to the queue

Parameters
Name Type Description
$queue_url string Queue URL
$message string Message to send to the queue
Returns
Type Description
string Message ID
Throws
Exception Description
\Zend_Service_Amazon_Sqs_Exception
methodpublicsetEndpoint( string $region ) : void

Set SQS endpoint

You can set SQS to on of the build-in regions. If the region does not exsist it will be added.

Parameters
Name Type Description
$region string region
Throws
Exception Description
\Zend_Service_Amazon_Sqs_Exception
methodpublicsetHttpClient( \Zend_Http_Client $httpClient ) : void
static

Sets the HTTP client object to use for retrieving the feeds. If none is set, the default Zend_Http_Client will be used.

Inherited from: \Zend_Service_Abstract::setHttpClient()
Parameters
Name Type Description
$httpClient \Zend_Http_Client
methodpublicsetKeys(  $accessKey,  $secretKey ) : void
static

Set the keys to use when accessing SQS.

Inherited from: \Zend_Service_Amazon_Abstract::setKeys()
Parameters
Name Type Description
$accessKey
$secretKey
Documentation was generated by DocBlox 0.13.3.