Usar filas no Amazon SQS com o AWS SDK para PHP versão 3 - AWS SDK para PHP

Usar filas no Amazon SQS com o AWS SDK para PHP versão 3

Para saber mais sobre filas do Amazon SQS, consulte Como as filas do Amazon SQS funcionam.

Os exemplos a seguir mostram como:

O código de exemplo completo do AWS SDK para PHP está disponível aqui no GitHub.

Credenciais

Antes de executar o código de exemplo, configure suas credenciais da AWS, conforme descrito em Autenticar com a AWS usando o AWS SDK para PHP versão 3. Em seguida, importe o AWS SDK para PHP, conforme descrito em Instalar o AWS SDK para PHP versão 3.

Retornar uma lista de filas

Importações

require 'vendor/autoload.php'; use Aws\Exception\AwsException; use Aws\Sqs\SqsClient;

Código de exemplo

$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()); }

Criar uma fila

Importações

require 'vendor/autoload.php'; use Aws\Exception\AwsException; use Aws\Sqs\SqsClient;

Código de exemplo

$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()); }

Retornar o URL de uma fila

Importações

require 'vendor/autoload.php'; use Aws\Exception\AwsException; use Aws\Sqs\SqsClient;

Código de exemplo

$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()); }

Excluir uma fila

Importações

require 'vendor/autoload.php'; use Aws\Exception\AwsException; use Aws\Sqs\SqsClient;

Código de exemplo

$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()); }