0

虽然我很确定我所做的一切都与 filepicker.io 网站上给出的视频中的完全一样,但测试我的 S3 设置只会出现错误。

上传错误:自定义 S3 尚未开启。也许检查一个 ID、Key 和 Bucket 是否都指定了?请检查您的设置,然后再试一次

我已经仔细检查了“S3 访问密钥 ID”和“S3 秘密访问密钥”以及“S3 存储桶”是否正确。我什至创建了一个新的存储桶并再次尝试,但无济于事。这是我为 filepicker 用户生成的策略:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Action": [
        "s3:GetObject",
        "s3:PutObject"
      ],
      "Sid": "Stmt1371459382000",
      "Resource": [
        "arn:aws:s3:::mybucket-real-name-omitted/*"
      ],
      "Effect": "Allow"
    }
  ]
}

它看起来与filepicker.io s3 帮助页面上发布的内容有些不同,但我不知道如何消除这些差异以及是否重要。

如果有人对如何解决此问题有任何提示,我将不胜感激。

在此先感谢 Fim 船长

4

1 回答 1

2

您的 AWS 安全策略肯定是错误的 - 您需要允许该PutObjectACL操作。Filepicker 为它上传的每个对象设置一个 ACL。DeleteObject如果您想使用文件选择器删除上传的文件,您还需要允许该操作。

您可以在AWS 控制台中编辑您的 AWS 安全策略。转到服务 -> IAM -> 用户并选择您的文件选择器用户。然后选择Permissions选项卡,选择您正在使用的策略,然后单击Manage Policy。然后,您可以手动编辑策略并应用更改。

这是我的政策的样子:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Action": [
        "s3:DeleteObject",
        "s3:GetObject",
        "s3:PutObject",
        "s3:PutObjectAcl"
      ],
      "Sid": "Stmt1370702252000",
      "Resource": [
        "arn:aws:s3:::<my bucket name here>/*"
      ],
      "Effect": "Allow"
    }
  ]
}

filepicke 的 S3 设置页面上有一个测试 S3 设置按钮,它也可能很有用。

于 2013-06-17T10:35:10.553 回答