Amazon SDK for PHP 버전 3.44 (2017-11-30 릴리스)를 사용하고 있습니다. 내 Amazon SQS 계정에 연결하여 listQueues(), getQueueUrl(), getQueueAttributes() 및 receiveMessage() 명령을 정상적으로 실행할 수 있습니다. 그러나 sendMessage() 명령은 다음 메시지와 함께 일관되게 실패합니다.aws-sdk-php v3.44가 SQS FIFO 대기열에 메시지를 보내지 못함 : MessageGroupId가 누락 되었습니까?
요청에 매개 변수 MessageGroupId가 있어야합니다.
이 매개 변수를 반드시 포함하고 있습니다. 내가 사용하는 aws-sdk-php API의 버전이 중요하지 않은 것 같지만이 메시지는 계속 되돌아옵니다. 나는 몇 시간이 PHP SDK를 통해 아마존 SQS FIFO 큐에 메시지를 전송하는 작업, 예를 들어, 검색이 가능하지 믿기 시작하고 보냈다
$queue = SqsClient::factory([
'profile' => $profile,
'region' => $region,
'version' => '2012-11-05',
'credentials' => $credentials,
]);
$queue_list = $queue->listQueues(); // ok
$url = $queue->getQueueUrl(['QueueName'=>$queue_name]); // ok
$received = $queue->receiveMessage(['QueueUrl'=>$url->get('QueueUrl')]); // ok
$response = $queue->sendMessage([
'MessageBody' => $message,
'MessageGroupId' => $message_group_id,
'QueueUrl' => $url->get('QueueUrl'),
]); // fails with message indicating MessageGroupId is missing
: 여기 내 코드입니다. 아무도 밖에서 SQS FIFO 큐와 함께 작동하도록 aws-sdk-php 라이브러리를 얻을 수 있었습니까?
'$ message_group_id'이 (가) 정확히 채워 졌습니까? 내 생각은 아마도 null이 매개 변수로 해석되지 않을까? – mulquin
예, 리터럴 및 스칼라 변수를 사용하여 MessageGroupId의 값을 변경했습니다. – hanmari