0

我正在尝试通过调用使用 Bref 无服务器包实现为 Lambda 函数的 API 来将我的资产存储在 S3 中。我正在使用 Laravel。Storage::directories();发出以下错误的调用。

消息:在“https://calmed-storage.s3.us-west-2.amazonaws.com/?prefix=&delimiter=%2F&encoding-type=url”上执行“ListObjects”时出错;AWS HTTP 错误:客户端错误:GET https://mys3-storage.s3.us-west-2.amazonaws.com/?prefix=&delimiter=%2F&encoding-type=url导致403 Forbidden响应:您提供的 AWS 访问密钥 ID(截断...) InvalidAccessKeyId(客户端):您提供的 AWS 访问密钥 ID 不存在于我们的记录中。- InvalidAccessKeyId 您提供的 AWS 访问密钥 ID 在我们的记录中不存在。

4

2 回答 2

0

好吧,错误说明了一切,您需要在与他们的 API 通信时发送正确的 AWS 密钥。

如果您league/flysystem-aws-s3-v3按照官方Laravel 文档.env中的说明使用,则需要在文件中设置下面列出的 AWS S3 环境变量

AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=
AWS_BUCKET=
AWS_URL=

要获取访问密钥,您需要创建一个具有正确访问权限的用户是 Amazon。本教程将帮助您。

于 2020-11-10T13:22:44.790 回答
0

我使用的是 Laravel,凭据存储在 .env 文件中。aws-sdk-php 以某种方式更改了访问 ID 和密钥。我不知道为什么。当我在 filesystems.php 中对 Access ID 和 Secret Key 进行硬编码时,这个问题就解决了。

于 2020-11-12T14:03:34.907 回答