2018-10-11 15:00:23 -07:00
< ? php
2018-12-28 10:35:52 -08:00
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2018-10-11 15:00:23 -07:00
// SPDX-License-Identifier: Apache-2.0
2024-02-05 10:49:20 -07:00
2018-10-11 15:00:23 -07:00
/*
* ABOUT THIS PHP SAMPLE: This sample is part of the SDK for PHP Developer Guide topic at
* https://docs.aws.amazon.com/sdk-for-php/v3/developer-guide/sqs-examples-send-receive-messages.html
*
*/
2019-02-05 21:49:37 -08:00
// snippet-start:[sqs.php.recieve_message.complete]
// snippet-start:[sqs.php.recieve_message.import]
2018-10-11 15:00:23 -07:00
require 'vendor/autoload.php' ;
2024-02-05 10:49:20 -07:00
2018-10-11 15:00:23 -07:00
use Aws\Exception\AwsException ;
2019-02-05 21:49:37 -08:00
use Aws\Sqs\SqsClient ;
2024-02-05 10:49:20 -07:00
2019-02-05 21:49:37 -08:00
// snippet-end:[sqs.php.recieve_message.import]
2024-02-05 10:49:20 -07:00
2018-10-11 15:00:23 -07:00
/**
* Receive SQS message
*
* This code expects that you have AWS credentials set up per:
* https://docs.aws.amazon.com/sdk-for-php/v3/developer-guide/guide_credentials.html
*/
2019-02-15 19:09:38 -08:00
// snippet-start:[sqs.php.recieve_message.main]
2018-10-11 15:00:23 -07:00
$queueUrl = " QUEUE_URL " ;
2024-02-05 10:49:20 -07:00
2018-10-11 15:00:23 -07:00
$client = new SqsClient ([
'profile' => 'default' ,
'region' => 'us-west-2' ,
'version' => '2012-11-05'
]);
2024-02-05 10:49:20 -07:00
2018-10-11 15:00:23 -07:00
try {
$result = $client -> receiveMessage ([
'AttributeNames' => [ 'SentTimestamp' ],
'MaxNumberOfMessages' => 1 ,
'MessageAttributeNames' => [ 'All' ],
'QueueUrl' => $queueUrl , // REQUIRED
'WaitTimeSeconds' => 0 ,
]);
2019-10-25 15:04:57 +01:00
if ( ! empty ( $result -> get ( 'Messages' ))) {
2018-10-11 15:00:23 -07:00
var_dump ( $result -> get ( 'Messages' )[ 0 ]);
$result = $client -> deleteMessage ([
'QueueUrl' => $queueUrl , // REQUIRED
'ReceiptHandle' => $result -> get ( 'Messages' )[ 0 ][ 'ReceiptHandle' ] // REQUIRED
]);
} else {
echo " No messages in queue. \n " ;
}
} catch ( AwsException $e ) {
// output error message if fails
error_log ( $e -> getMessage ());
}
2024-02-05 10:49:20 -07:00
2019-02-05 21:49:37 -08:00
// snippet-end:[sqs.php.recieve_message.main]
// snippet-end:[sqs.php.recieve_message.complete]