perl - FIFO 队列上的 Amazon::SQS::Simple MessageGroupId

标签 perl amazon-web-services amazon-sqs fifo

我需要有关如何使用 CPAN 模块将 MessageGroupId 作为参数传递的帮助

Amazon::SQS::Simple

我尝试了以下方法:

my $messageGroupId = 1;
my $q = $sqs->GetQueue('http://queue.amazonaws.com/' . $queue_name);
$q->{MessageGroupId} = $messageGroupId;
$q->SendMessage($message);

我还尝试将 MessageGroupId 放入 $message 变量中:

my $messageGroupId = 1;
my $q = $sqs->GetQueue('http://queue.amazonaws.com/' . $queue_name);
$q->{MessageGroupId} = $messageGroupId;
$q->SendMessage({ MessageGroupId => 1 });

但是SQS总是给出这个错误:

ERROR [try ]: On calling SendMessage: 400 Bad Request (The request must contain the parameter MessageGroupId.)

最佳答案

@ysth 的回答几乎是正确的;我发现以下方法有效:

$q->SendMessage($message, ("MessageGroupId" => 1));

关于perl - FIFO 队列上的 Amazon::SQS::Simple MessageGroupId,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50569628/

相关文章:

java - Camel 每小时消耗不超过 1 条消息?

ruby-on-rails - 环境特定的 shoriken 配置

python - Celery SQS任务失败后不会执行

algorithm - Perl 在计算阶乘 N 的递归实现中在哪里保存中间结果?

android - 如何通过 api 网关 https 请求更新 Cognito Sync 用户数据

java - AWS API Gateway WebSocket 超时?

amazon-web-services - amazon DynamoDB 查询不适用于 bool 属性

linux - 在 Bash 的变量中执行 Perl 脚本

perl - 如何让我的 Perl 方法更像 Moose?

perl - Perl 的 Getopt::Long 如何发现缺少强制参数的参数?