geekcom / felicio
一个简单的库,用于连接PHP与AWS SQS
2.5.2
2020-09-09 15:03 UTC
Requires
- php: >=7.4
- aws/aws-sdk-php: ^3.110
- symfony/dotenv: ^4.3
Requires (Dev)
This package is auto-updated.
Last update: 2024-09-14 19:53:24 UTC
README
使用PHP的简单AWS SQS消息
关于Felicio和SQS
Felicio是一个简单的库,用于操作AWS SQS消息。
- 简单;
- 可配置;
- 可测试;
- 开源。
Amazon Simple Queue Service (SQS) 是一种完全托管的消息队列服务,可让您解耦和扩展微服务、分布式系统和无服务器应用程序。
安装
如果您没有安装,请安装 Composer。
composer require geekcom/felicio
或者,在您的 'composer.json' 文件中添加
{ "require": { "geekcom/felicio": "^2.5.0" } }
然后只需运行
composer install
就完成了。
配置
将 .felicio.example
重命名为 .felicio
并填写您AWS SQS账户的正确信息。
AWS_SQS_ACCESS_KEY=
AWS_SQS_SECRET_KEY=
AWS_SQS_REGION=
AWS_SQS_API_VERSION=latest
发送消息
require __DIR__ . '/vendor/autoload.php'; use Felicio\Felicio; $felicioDotFile = __DIR__ . '/.felicio'; $felicio = new Felicio($felicioDotFile); $params = [ 'QueueUrl' => 'https://sqs.us-west-2.amazonaws.com/999999999/my_queue', 'MessageBody' => 'test message' ]; $felicio->sendMessage($params);
接收消息
require __DIR__ . '/vendor/autoload.php'; use Felicio\Felicio; $felicioDotFile = __DIR__ . '/.felicio'; $felicio = new Felicio($felicioDotFile); $params = [ 'AttributeNames' => ['SentTimestamp'], 'MaxNumberOfMessages' => 1, 'MessageAttributeNames' => ['All'], 'QueueUrl' => 'https://sqs.us-west-2.amazonaws.com/999999999/my_queue', 'WaitTimeSeconds' => 0, ]; $message = $felicio->receiveMessage($params); var_dump($message);
删除消息
require __DIR__ . '/vendor/autoload.php'; use Felicio\Felicio; $felicioDotFile = __DIR__ . '/.felicio'; $felicio = new Felicio($felicioDotFile); $params = [ 'QueueUrl' => 'https://sqs.us-west-2.amazonaws.com/999999999/my_queue', 'ReceiptHandle' => '', // required ]; $felicio->deleteMessage($params);
计数消息
require __DIR__ . '/vendor/autoload.php'; use Felicio\Felicio; $felicioDotFile = __DIR__ . '/.felicio'; $felicio = new Felicio($felicioDotFile); $queueUrl = 'https://sqs.us-west-2.amazonaws.com/999999999/my_queue'; $messages = $felicio->countMessages($queueUrl); var_dump($messages);
贡献
欢迎贡献,创建分支!
许可
Felicio库是开源软件,受 MIT许可 的许可。
有问题吗?
打开一个新的 问题 或查找已关闭的问题
作者
- Daniel Rodrigues (@geekcom)