Instantly share code, notes, and snippets.

Embed
What would you like to do?
Sending and receiving messages from/to AWS SQS via PHP
<?php
// curl -sS https://getcomposer.org/installer | php
// php composer.phar require aws/aws-sdk-php
// export AWS_ACCESS_KEY_ID=...
// export AWS_SECRET_ACCESS_KEY=...
$queueUrl = '<INSERT_URL_OF_EXISTING_QUEUE_HERE>';
require_once 'vendor/autoload.php';
$sdk = new \Aws\Sdk();
$sqsClient = $sdk->createSqs(['region' => 'eu-west-1', 'version' => '2012-11-05']);
echo "Sending message\n";
$sqsClient->sendMessage(array(
'QueueUrl' => $queueUrl,
'MessageBody' => 'Hello World!',
));
echo "Receiving messages\n";
$result = $sqsClient->receiveMessage([
'AttributeNames' => ['All'],
'MaxNumberOfMessages' => 10,
'QueueUrl' => $queueUrl,
]);
foreach ($result->search('Messages[]') as $message) {
echo "- Message: {$message['Body']} (Id: {$message['MessageId']})\n";
}
echo "Deleting messages\n";
foreach ($result->search('Messages[]') as $message) {
$sqsClient->deleteMessage([
'QueueUrl' => $queueUrl,
'ReceiptHandle' => $message['ReceiptHandle']
]);
echo "- Deleted: {$message['MessageId']})\n";
}
@akahen

This comment has been minimized.

akahen commented Mar 1, 2017

this was great help, thanks a mill!!

@abdonor

This comment has been minimized.

abdonor commented Apr 3, 2018

Very good, thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment