Skip to content

Instantly share code, notes, and snippets.

@fbrnc
Last active April 18, 2024 10:49
Show Gist options
  • Star 7 You must be signed in to star a gist
  • Fork 6 You must be signed in to fork a gist
  • Save fbrnc/396548c85ee083e32930 to your computer and use it in GitHub Desktop.
Save fbrnc/396548c85ee083e32930 to your computer and use it in GitHub Desktop.
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";
}
@abdonor
Copy link

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