Я написал код в app-> Console-> Commands-> sendMessage.php
В Kernel.php я объявил свой класс.
Когда я пытаюсь выполнить свою командув терминале я получаю 403 Forbidden
ответ.
Если я запускаю тот же код из sendMessageController.php, все работает нормально, так как он обращается к URL из Apache.
У меня нет четкого представления оработает в командах консоли.
① app-> Console-> Commands-> sendMessage.php code
$region = 'ap-northeast-1';
$version = '2012-11-05';
$queueURL = 'sqs-Queue URL';
$client = SqsClient::factory([
'credentials' => array(
'key' => false,
'secret' => false ),
'region' => $region, //replace it with your region
'version' => $version
]);
$params = [
'DelaySeconds' => 10,
'MessageAttributes' => [
"Title" => [
'DataType' => "String",
'StringValue' => "The Guide to the Galaxy"
],
"Author" => [
'DataType' => "String",
'StringValue' => "Galaxy"
]
],
'MessageBody' => "Please send this message. This is First SQS Test Queue version 1.2",
'QueueUrl' => $queueURL
];
$sentMessage = $client->sendMessage($params);
② код kernel.php
class Kernel extends ConsoleKernel
{
/**
* The Artisan commands provided by your application.
*
* @var array
*/
protected $commands = [
\App\Console\Commands\sendMessage::class
];
}
Отображается ошибкав терминале:
[Aws \ Sqs \ Exception \ SqsException] Ошибка при выполнении «SendMessage» Ошибка AWS HTTP: ошибка клиента: отправленный URL-адрес привел к ответу 403 Forbid den
.AccessDenied (клиент): доступ к URL ресурса запрещен.