Загрузка файлов на 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, и все это заработало.