0
SQS의 다양한 예제와 비슷한 코드가 있습니다.빈 대기열이있는 PHP에서 AWS SQS 오류 메시지를 가져 오는 중
$sqs = \Aws\Sqs\SqsClient::factory(array(
'key'=>'MYKEY',
'secret'=>'MYSECRET',
'region' => 'us-east-1'
));
$queueURL = 'https://sqs.us-east-1.amazonaws.com/MYUSERID/MYQUEUENAME';
$messages = $sqs->receiveMessage(array('QueueUrl' => $queue));
print_r($messages);echo '<BR>';
foreach ($messages->getPath('Messages') as $message) {
// Do something with the message
echo $message;
}
그러나 foreach 줄에 오류가 발생합니다 : Warning: Invalid argument supplied for foreach()
. receiveMessage에 대한 응답에는 대기열이 없기 때문에 의미가없는 메시지가 없습니다. 행운과 나는 또한 $messages['Messages']
및 $messages->get('Messages')
시도 한 foreach
에서
Guzzle\Service\Resource\Model Object ([structure:protected] => [data:protected] => Array ([ResponseMetadata] => Array ([RequestId] => 96a63acb-685c-5e42-a68b-76b7ea4ff16b)))
모든 : 여기에 무엇 인 print_r ($ 메시지)를 표시합니다.
AWS 외부의 시스템에서이 작업을 실행하고 있지만 인증을 위해 키/암호를 사용합니다.
감사합니다.
(적어도) 나는'추가 한 경우 (는 isset ($ 메시지 [ '메시지'])!의) 는 "어떤 메시지
"를 에코하지를; else '앞에 foreach. –
이것은 나에게 도움이되었습니다. http://docs.aws.amazon.com/aws-sdk-php/guide/latest/feature-models.html –