1

AWS SQS に接続しようとすると、非常に特殊な問題が発生します。この PHP コードを実行すると、次のようになります。

$client = SqsClient::factory(array(
    'credentials' => [
       'key' => 'somekey',
       'secret' => 'somesecret'
    ],
    'region'  => 'eu-west-1',
    'version' => 'latest'
));
$result = $client->receiveMessage(array(
    'QueueUrl' => $queueUrl,
));

次のエラーが表示されます。

PHP Fatal error:  Uncaught exception 'Aws\Sqs\Exception\SqsException' with message 'Error executing "ReceiveMess
age" on "https://sqs.eu-west-1.amazonaws.com/189729872213/my-very-special-queue"; AWS HTTP error: Client error: 403 Inva
lidClientTokenId (client): This account is suspended - <?xml version="1.0"?><ErrorResponse xmlns="http://queue.a
mazonaws.com/doc/2012-11-05/"><Error><Type>Sender</Type><Code>InvalidClientTokenId</Code><Message>This account i
s suspended</Message><Detail/></Error><RequestId>aaf63243-6840-5b49-893a-7d66919c07da</RequestId></ErrorResponse
>'

しかし、同じマシンで同じ資格情報を使用して boto (AWS PHP SDK に相当する Python) を使用している場合、問題なく動作します! アカウントは期待どおりに開かれ、関連付けられているすべてのキューにアクセスできます。

PHP コードを機能させるにはどうすればよいですか? 何を確認すればよいですか?

4

0 に答える 0