gilbertchiao/laravel-aws-sqs-helper
Composer 安装命令:
composer require gilbertchiao/laravel-aws-sqs-helper
包简介
Laravel package for sending messages to AWS SQS
README 文档
README
一個簡單易用的 Laravel 套件,用於將訊息發送到 AWS SQS。支援 FIFO 佇列,並可輕鬆與 AWS Lambda 等服務整合。
特性
- 簡易的設定
- 透過 Facade 提供流暢的 API
- 支援標準佇列和 FIFO 佇列
- 可自訂 AWS 憑證、區域等設定
安裝
透過 Composer 安裝套件:
composer require gilbertchiao/laravel-aws-sqs-helper
設定
-
發布設定檔
執行以下 Artisan 指令,將設定檔
sqs-helper.php發布到您專案的config目錄中:php artisan vendor:publish --provider="GilbertChiao\AwsSqsHelper\SqsServiceProvider" --tag="config"
-
設定環境變數
在您的
.env檔案中,加入以下設定:AWS_ACCESS_KEY_ID=your-aws-access-key AWS_SECRET_ACCESS_KEY=your-aws-secret-key AWS_DEFAULT_REGION=us-east-1 SQS_QUEUE_URL=your-standard-queue-url SQS_QUEUE_URL_FIFO=your-fifo-queue-url
AWS_*變數是您的 AWS 憑證。如果您在 EC2 上使用 IAM 角色,可以將它們留空。SQS_QUEUE_URL是您的標準 SQS 佇列網址。SQS_QUEUE_URL_FIFO是您的 FIFO SQS 佇列網址。
使用方式
您可以使用 Sqs Facade 來發送訊息。
發送到標準佇列
use GilbertChiao\AwsSqsHelper\Facades\Sqs; $message = [ 'event' => 'order_created', 'data' => [ 'order_id' => 123, 'amount' => 99.99 ] ]; $messageId = Sqs::send($message); if ($messageId) { echo "訊息已成功發送,ID: {$messageId}"; }
發送到 FIFO 佇列
若要發送到 FIFO 佇列,您需要提供 MessageGroupId 和 MessageDeduplicationId。
use GilbertChiao\AwsSqsHelper\Facades\Sqs; $message = [ 'event' => 'user_registered', 'data' => [ 'user_id' => 'abc-123', 'timestamp' => now()->toIso8601String() ] ]; // 使用 useFifo() 方法切換到 FIFO 佇列 $messageId = Sqs::useFifo()->send($message, [ 'MessageGroupId' => 'user-events', 'MessageDeduplicationId' => uniqid() // 確保訊息的唯一性 ]); if ($messageId) { echo "FIFO 訊息已成功發送,ID: {$messageId}"; }
測試
執行以下指令來運行專案的測試:
./vendor/bin/phpunit
版權
统计信息
- 总下载量: 0
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-07-06