Amazon :: SQS :: Простой MessageGroupId в очереди FIFO - PullRequest
0 голосов
/ 28 мая 2018

Мне нужна помощь по передаче MessageGroupId в качестве параметра с использованием модуля CPAN

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 голосов
/ 31 мая 2018

Итак, я пытался отправить сообщение в очередь FIFO SQS в AWS.Но я думаю,

Amazon :: SQS :: Simple не поддерживает FIFO Queue.

В итоге я использую Paws :: SQS , и теперь он работает

0 голосов
/ 17 апреля 2019

Ответ @ysth был почти правильным;Я нашел ниже, чтобы работать:

$q->SendMessage($message, ("MessageGroupId" => 1));
0 голосов
/ 28 мая 2018

У тебя почти было это.Похоже, он ожидает:

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