geekcom/felicio

一个简单的库,用于连接PHP与AWS SQS

2.5.2 2020-09-09 15:03 UTC

README

使用PHP的简单AWS SQS消息

Scrutinizer Code Quality Latest Stable Version Minimum PHP Version License

关于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许可 的许可。

有问题吗?

打开一个新的 问题 或查找已关闭的问题

作者