【问题标题】:Upload image in S3 bucket: A "region" configuration value is required for the "s3" service在 S3 存储桶中上传图像:“s3”服务需要“区域”配置值
【发布时间】:2021-01-01 22:59:03
【问题描述】:

我正在使用 AWS-SDK。安装包后出现以下错误:

缺少必需的客户端配置选项:区域:(字符串)“s3”服务需要“区域”配置值(例如,“us-west-2”)。可以在http://docs.aws.amazon.com/general/latest/gr/rande.html 找到可用公共区域和端点的列表。版本:(字符串)需要“版本”配置值。指定版本约束可确保您的代码不会受到对服务的重大更改的影响。例如,在使用 Amazon S3 时,您可以将 API 版本锁定为“2006-03-01”。您的 SDK 版本具有以下版本的“s3”: *“2006-03-01”您可以为“版本”配置值提供“最新”,以利用您客户端 API 的最新可用 API 版本提供者可以找到。注意:不建议在生产应用程序中使用“最新”。可以在每个客户端的 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%');

仍然显示我认为需要添加进一步配置的消息。如果您有任何解决方案,请告诉我。

【问题讨论】:

  • 您可以编辑您的问题以显示产生此错误的代码吗?

标签: php wordpress amazon-web-services amazon-s3


【解决方案1】:

错误消息是说您没有为region 提供值。

这是来自Creating and Using Amazon S3 Buckets with the AWS SDK for PHP Version 3 - AWS SDK for PHP 的一些示例 PHP 代码:

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

【讨论】:

  • 'Key' => $key,这里我需要把s3的URL放在上传图片的位置,先生?
  • 您需要提供Bucket 名称和KeyKey 是 S3 存储桶中的目标路径 + 文件名,例如 invoices/January.txt。请注意,它包括路径(如果需要)。文件夹是自动创建的(有点)。
猜你喜欢
  • 2020-05-02
  • 2015-06-29
  • 2017-03-13
  • 2019-03-14
  • 1970-01-01
  • 1970-01-01
  • 2020-12-30
  • 2018-03-11
  • 2020-02-14
相关资源
最近更新 更多