aws sqs php,在 Amazon SQS 中 AWS SDK for PHP 发送和接收消息与 版本 3 - 适用于 PHP 的 AWS 开发工具包...

AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在 Amazon SQS 中 AWS SDK for PHP 发送和接收消息与 版本 3

要了解有关 Amazon SQS 消息的信息,请参阅 Amazon SQS Developer Guide中的向 SQS 队列发送消息和从 SQS 队列接收和删除消息。

以下示例演示如何:

使用 SendMessage 向指定队列传输消息。

使用 ReceiveMessage 从指定队列检索一条或多条消息(最多 10 条)。

版本 3 的所有示例代码在 AWS SDK for PHP 上的此处提供。GitHub

Credentials

发送消息

导入

require 'vendor/autoload.php';

use Aws\Sqs\SqsClient;

use Aws\Exception\AwsException;

示例代码

$client = new SqsClient([

'profile' => 'default',

'region' => 'us-west-2',

'version' => '2012-11-05'

]);

$params = [

'DelaySeconds' => 10,

'MessageAttributes' => [

"Title" => [

'DataType' => "String",

'StringValue' => "The Hitchhiker's Guide to the Galaxy"

],

"Author" => [

'DataType' => "String",

'StringValue' => "Douglas Adams."

],

"WeeksOn" => [

'DataType' => "Number",

'StringValue' => "6"

]

],

'MessageBody' => "Information about current NY Times fiction bestseller for week of 12/11/2016.",

'QueueUrl' => 'QUEUE_URL'

];

try {

$result = $client->sendMessage($params);

var_dump($result);

} catch (AwsException $e) {

// output error message if fails

error_log($e->getMessage());

}

接收和删除消息

导入

require 'vendor/autoload.php';

use Aws\Sqs\SqsClient;

use Aws\Exception\AwsException;

示例代码

$queueUrl = "QUEUE_URL";

$client = new SqsClient([

'profile' => 'default',

'region' => 'us-west-2',

'version' => '2012-11-05'

]);

try {

$result = $client->receiveMessage(array(

'AttributeNames' => ['SentTimestamp'],

'MaxNumberOfMessages' => 1,

'MessageAttributeNames' => ['All'],

'QueueUrl' => $queueUrl, // REQUIRED

'WaitTimeSeconds' => 0,

));

if (!empty($result->get('Messages'))) {

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

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值