Продолжайте получать ошибку: AWS Ошибка HTTP: ошибка 6 cURL: при попытке загрузить файл - PullRequest
0 голосов
/ 31 января 2020

Каждый раз, когда я пытаюсь загрузить файл в мое хранилище s3 с помощью sdk, я получаю сообщение об ошибке (AWS Ошибка HTTP: ошибка cURL 6). Я понятия не имею, почему это происходит, и я не знаю, как это исправить. Что-нибудь еще мне нужно добавить в мой код или указать? Это проблема только с ведром или это может быть с пользователем, которого я сделал (IAM). Мне не нужен окончательный ответ, мне просто нужно что-то, что может сузить область, в которой я должен искать причину ошибки. Я с удовольствием оценил бы любой ответ. Спасибо.

Это мой код:

<?php
require 'vendor/autoload.php';

use Aws\S3\S3Client;

// Instantiate an Amazon S3 client.
$s3 = new S3Client([
    'version' => 'latest',
    'region'  => 'US-West', 
    'credentials' => [
        'key'    => 'garbage',
        'secret' => 'garbage'
    ]
]);


$bucketName = 'garbage';
$file_Path = __DIR__ . '/my-image.png';
$key = basename($file_Path);

// Upload a publicly accessible file. The file size and type are determined by the SDK.
try {
    $result = $s3->putObject([
        'Bucket' => $bucketName,
        'Key'    => 'videouploads/' . $key,
        'Body'   => fopen($file_Path, 'r'),
        'ACL'    => 'public-read',
    ]);
    echo $result->get('ObjectURL');
} catch (Aws\S3\Exception\S3Exception $e) {
    echo "There was an error uploading the file.\n";
    echo $e->getMessage();
}


?>

1 Ответ

0 голосов
/ 31 января 2020

Эта ошибка соответствует ошибке could not resolve host. См. CURLE_COULDNT_RESOLVE_HOST (6) в https://curl.haxx.se/libcurl/c/libcurl-errors.html. Это указывает на то, что lib не удалось достичь конечной точки S3, на которую ссылается код.

При проверке кода выясняется, что определение региона неверно. Вы определили регион как 'region' => 'US-West'. Там нет такого региона. Использование неправильного имени региона, вероятно, объясняет ошибку хоста не найдена. Он пытается найти имя хоста в регионе, который не существует, и выдает ошибку 6.

Замените значение этого региона на us-west-1 или us-west-2 и повторите попытку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...