Amazon SQS Exception

Я хочу использовать SQS (производство) для отправки почты в очереди, но это дает мне ошибку исключения.

Исключение: отсутствуют обязательные параметры конфигурации клиента: версия: (строка) Требуется значение конфигурации «версия». Указание ограничения версии гарантирует, что на ваш код не повлияет критическое изменение, внесенное в сервис. Например, при использовании Amazon S3 вы можете заблокировать версию API на «2006-03-01». Ваша сборка SDK имеет следующие версии «sqs»: * «2012-11-05» Вы можете указать «последнее» значение конфигурации «version», чтобы использовать самую последнюю доступную версию API, которую API вашего клиента провайдер может найти. Примечание. Использование «последней версии» в производственном приложении не рекомендуется. Список доступных версий API можно найти на странице документации API каждого клиента: http://docs.aws.amazon.com/aws-sdk-php/v3/api/index.html. Если вы не можете загрузить определенную версию API, вам может потребоваться обновить свою копию SDK.

Мой код

require(Config::get('paths.storage') . "sqs/aws-autoloader.php");
use Aws\Sqs\SqsClient;


$client = SqsClient::factory(array(
'key' => 'my-key',
'secret' => 'sec-key',
'region' => 'us-east-1',
));

$result = $client->createQueue(array('QueueName' => 'my-queue'));
$queueUrl = $result->get('QueueUrl');
$client->sendMessage(array(
'QueueUrl' => $queueUrl,
'MessageBody' => 'An awesome message!',
));

$result = $client->receiveMessage(array(
'QueueUrl' => $queueUrl,
));

foreach ($result->getPath('Messages/*/Body') as $messageBody) {
// Do something with the message
echo $messageBody;
}
die;

Произошла ошибка: SqsClient::factory

-1

Решение

Исключение дает вам причину. Вам необходимо указать версию API для использования:

$client = SqsClient::factory(array(
'version' => '2012-11-05',
'key' => 'my-key',
'secret' => 'sec-key',
'region' => 'us-east-1',
));
4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]