Загрузка файлов на S3 с использованием Laravel 5.1 завершается неудачно

Я пытаюсь загрузить некоторые файлы в S3, используя Laravel и его API-интерфейс Filesystem.

Я получаю следующую ошибку:

S3Exception in WrappedHttpHandler.php line 159:
Error executing "PutObject" on "https://s3..amazonaws.com/example-bucket/433922_1448096894943.png"; AWS HTTP error: cURL error 6: Could not resolve host: s3.global.amazonaws.com (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)

вот мои настройки в файле /config/filesystems.php

    's3' => [
        'driver' => 's3',
        'key'    => 'apiKey',
        'secret' => 'secretApiKey',
        'region' => 'global',
        'bucket' => 'example-bucket',
    ], 

как отмечено в ошибке, файловая система API не может разрешить следующее доменное имя

s3.global.amazonaws.com

"глобальная" часть здесь обозначает регион, но, насколько я понимаю, S3 больше не требует региона.

в то время как я думаю, что реальное доменное имя должно так

example-bucket.s3.amazonaws.com/

вот код, который я использую для вызова файловой системы API

Storage::disk('s3')->put('new-name.png', file_get_contents( 'path/to/file'))

1 ответ

Решение

Пришлось настроить правильный регион S3, который в моем случае был: eu-west-1, и все это заработало.

Другие вопросы по тегам