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

Amazon::SQS::Simple MessageGroupId on a FIFO Queue

我需要有关如何使用 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.)

你几乎成功了。看起来很期待:

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

所以我试图将消息发送到 AWS 中的 FIFO SQS 队列。不过我觉得

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

我最终改用了 Paws::SQS,现在可以使用了

@ysth 的回答几乎是正确的;我发现下面的工作:

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