Uso de colas en Amazon SQS con la versión 3 de AWS SDK para PHP
Para obtener más información sobre las colas de Amazon SQS Funcionamiento de colas SQS.
Los siguientes ejemplos muestran cómo:
-
Devolver una lista de sus colas utilizando ListQueues.
-
Crear una nueva cola utilizando CreateQueue.
-
Devolver la URL de una cola existente utilizando GetQueueUrl.
-
Eliminar una cola especificada utilizando DeleteQueue.
Todo el código de ejemplo de AWS SDK para PHP está disponible aquí en GitHub
Credenciales
Antes de ejecutar el código de ejemplo, configure sus credenciales de AWS, como se indica en Autenticación con AWS mediante la versión 3 de AWS SDK para PHP. A continuación, importe AWS SDK para PHP, como se indica en Instalación del AWS SDK para PHP versión 3.
Devolver una lista de colas
Importaciones
require 'vendor/autoload.php'; use Aws\Exception\AwsException; use Aws\Sqs\SqsClient;
Código de muestra
$client = new SqsClient([ 'profile' => 'default', 'region' => 'us-west-2', 'version' => '2012-11-05' ]); try { $result = $client->listQueues(); foreach ($result->get('QueueUrls') as $queueUrl) { echo "$queueUrl\n"; } } catch (AwsException $e) { // output error message if fails error_log($e->getMessage()); }
Creación de una cola
Importaciones
require 'vendor/autoload.php'; use Aws\Exception\AwsException; use Aws\Sqs\SqsClient;
Código de muestra
$queueName = "SQS_QUEUE_NAME"; $client = new SqsClient([ 'profile' => 'default', 'region' => 'us-west-2', 'version' => '2012-11-05' ]); try { $result = $client->createQueue([ 'QueueName' => $queueName, 'Attributes' => [ 'DelaySeconds' => 5, 'MaximumMessageSize' => 4096, // 4 KB ], ]); var_dump($result); } catch (AwsException $e) { // output error message if fails error_log($e->getMessage()); }
Devolver la URL de una cola
Importaciones
require 'vendor/autoload.php'; use Aws\Exception\AwsException; use Aws\Sqs\SqsClient;
Código de muestra
$queueName = "SQS_QUEUE_NAME"; $client = new SqsClient([ 'profile' => 'default', 'region' => 'us-west-2', 'version' => '2012-11-05' ]); try { $result = $client->getQueueUrl([ 'QueueName' => $queueName // REQUIRED ]); var_dump($result); } catch (AwsException $e) { // output error message if fails error_log($e->getMessage()); }
Eliminar una cola
Importaciones
require 'vendor/autoload.php'; use Aws\Exception\AwsException; use Aws\Sqs\SqsClient;
Código de muestra
$queueUrl = "SQS_QUEUE_URL"; $client = new SqsClient([ 'profile' => 'default', 'region' => 'us-west-2', 'version' => '2012-11-05' ]); try { $result = $client->deleteQueue([ 'QueueUrl' => $queueUrl // REQUIRED ]); var_dump($result); } catch (AwsException $e) { // output error message if fails error_log($e->getMessage()); }