mrehman23 / aws-sqs
用于与亚马逊简单队列服务(SQS)交互的PHP包
0.0.6
2023-08-26 16:55 UTC
Requires
- php: >=7.2
- aws/aws-sdk-php: ^3.0
README
此包提供了使用PHP与亚马逊简单队列服务(SQS)交互的简单方便的方式。
特性
- 向SQS队列发送消息。
- 从SQS队列接收消息。
- 从SQS队列删除消息。
要求
- PHP 7.2或更高版本
- AWS SDK for PHP (aws/aws-sdk-php)
- 配置AWS账户凭证(访问密钥ID和秘密访问密钥)
安装
您可以通过Composer安装此包
composer require mrehman23/aws-sqs
示例
require 'vendor/autoload.php';
use AwsSqs\SqsMessenger;
$AwsConfig = [
'AWS_KEY'=>'', //You should put your AWS_KEY
'AWS_SECRET_KEY'=>'', //You should put your AWS_SECRET_KEY
'AWS_REGION'=>'eu-west-1', //You should put your AWS_REGION
'API_VERSION'=>'2012-11-05'
];
$messenger = new SqsMessenger($AwsConfig);
// $messenger->RetryTimesOnFail = 2;
// $messenger->WaitBeforeRetry = 1; //seconds
$queue = "<Your queueUrl>";
$message = "This is a message for SQS";
$messageAttributes['params'] = [
'DataType' => 'String',
'StringValue' => json_encode($params)
];
$delaySeconds = 10;
$messageGroupId = '';
$messageDeduplicationId = '';
$result = $messenger->publish($queue, $message, $messageAttributes, $delaySeconds, $messageGroupId, $messageDeduplicationId);
监听器
require 'vendor/autoload.php';
use AwsSqs\SqsWorker;
$worker = new SqsWorker($this->awsConfig['credentials']);
$worker->listen(
$this->awsConfig['queue'],
[$this, 'processMessage'],
[$this, 'errorHandler']
);