Загрузить изображение в корзину S3: для службы «s3» требуется значение конфигурации «region»

#php #wordpress #amazon-web-services #amazon-s3

#php #wordpress #amazon-web-services #amazon-s3

Вопрос:

Я использую AWS-SDK. После установки пакета появляется следующая ошибка:

Отсутствуют требуемые параметры конфигурации клиента: region: (строка) Для службы «s3» требуется значение конфигурации «region» (например, «us-west-2»). Список доступных общедоступных регионов и конечных точек можно найти по адресуhttp://docs.aws.amazon.com/general/latest/gr/rande.html. версия: (строка) Требуется значение конфигурации «version». Указание ограничения версии гарантирует, что на ваш код не повлияют критические изменения, внесенные в службу. Например, при использовании Amazon S3 вы можете заблокировать версию своего API на «2006-03-01». Ваша сборка SDK имеет следующие версии «s3»: * «2006-03-01» Вы можете указать «latest» в значении конфигурации «version», чтобы использовать самую последнюю доступную версию API, которую может найти поставщик API вашего клиента. Примечание: Использование «latest» в производственном приложении не рекомендуется. Список доступных версий API можно найти на странице документации по API каждого клиента:http://docs.aws.amazon.com/aws-sdk-php/v3/api/index.html. Если вы не можете загрузить определенную версию API, вам может потребоваться обновить вашу копию SDK.

добавлен файл wp-config:

 define('AWS_S3_KEY', '%xx%');

define('AWS_S3_SECRET', '%xx%');
  

Я думаю, что это сообщение все еще отображается, необходимо добавить дополнительную конфигурацию. Дайте мне знать, если у вас есть какое-либо решение, это будет полезно.

Комментарии:

1. Можете ли вы отредактировать свой вопрос, чтобы показать код, который генерирует эту ошибку?

Ответ №1:

В сообщении об ошибке говорится, что вы не указали значение для region .

Вот несколько примеров PHP-кода из создания и использования пакетов Amazon S3 с AWS SDK для PHP версии 3 — AWS SDK для PHP:

     $s3Client = new S3Client([
        'profile' => 'default',
        'region' => 'us-west-2',
        'version' => '2006-03-01'
    ]);
    $result = $s3Client->putObject([
        'Bucket' => $bucket,
        'Key' => $key,
        'SourceFile' => $file_Path,
    ]);
  

Комментарии:

1. ‘Key’ => $ key, здесь мне нужно указать URL-адрес s3, по которому будет загружаться изображение, верно, сэр?

2. Вам нужно будет указать Bucket имя и Key . Key — это путь назначения имя файла в корзине S3, например invoices/January.txt . Обратите внимание, что оно включает путь (при желании). Папки создаются автоматически (вроде).

Ответ №2:

Я понимаю, что это поздно, но вот мое решение ….введите описание изображения здесь

Вам нужно будет установить значение региона по умолчанию на сервере. Я разместил свой на heroku.

Я надеюсь

Комментарии:

1. В Stackoverflow, если вы хотите предоставить решение, вам нужно добавить код, а не просто комментарий.

2. Хорошо, это хорошо отмечено. Извинения.