Очередь SQS в консоли laravel - PullRequest
0 голосов
/ 15 апреля 2019

Я написал код в 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 ресурса запрещен.

...