Skip to content

Instantly share code, notes, and snippets.

@tuananhcwrs
Forked from fbrnc/send-receive-sqs.php
Created August 14, 2020 09:04
Show Gist options
  • Save tuananhcwrs/84152921d8521dbddf9545c6f40161d4 to your computer and use it in GitHub Desktop.
Save tuananhcwrs/84152921d8521dbddf9545c6f40161d4 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";
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment