FIFO队列中的Amazon :: SQS :: Simple MessageGroupId

时间:2018-05-28 15:34:35

标签: 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.)

3 个答案:

答案 0 :(得分:0)

你几乎拥有它。它看起来像是在期待:

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

答案 1 :(得分:0)

所以我试图向AWS中的FIFO SQS队列发送消息。但我认为

Amazon :: SQS :: Simple不支持FIFO队列。

我最终使用了Paws::SQS而现在正在使用

答案 2 :(得分:0)

The answer by @ysth was almost correct; I found the below to work:

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