访问子文件夹AWS S3中的文件

时间:2017-10-13 13:17:25

标签: javascript jquery amazon-web-services amazon-s3

我尝试使用ajax请求将所有图像文件放入s3存储桶的子文件夹中。

我已使用下拉菜单公开子文件夹(请参阅图片),但仍然收到403 (Forbidden)响应。我还尝试为该特定文件夹添加存储桶策略,但仍然没有运气。

我是否应该以权限方式做任何我失踪的事情?我本以为会让子文件夹公开完成这项工作。

这是我的通话代码,如果有帮助:

var imgUrl = "http://s3.amazonaws.com/[BUCKET NAME]/images/gallery";
var loadedImages;
var imgData = {
        images: []
    }

$.ajax({
    url: imgUrl,
    success: function getData(data) {
        $(data).find("a").attr("href", function(i, val) {
            if (val.match(/\.(jpe?g|png|gif)$/)) {

                loadedImages = $(this).attr("href"),
                    imgData.images.push($(loadedImages));
                    console.log(imgData)
            }
        });
    }
    });

编辑:这是我的目前许可:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AddPerm",
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::[BUCKET NAME]/*"
        },
        {
    "Sid":"PublicReadGetObject",
        "Effect":"Allow",
      "Principal": "*",
      "Action":["s3:GetObject"],
      "Resource":["arn:aws:s3:::[BUCKET NAME]/images/gallery/*"
      ]
    }
    ]
}

S3 subfolder permissions dropdown

1 个答案:

答案 0 :(得分:0)

请分享您的存储桶策略,或者如果您需要提供公共读取权限以更新存储桶更新政策:

{
  "Version":"2012-10-17",
  "Statement":[{
    "Sid":"PublicReadGetObject",
        "Effect":"Allow",
      "Principal": "*",
      "Action":["s3:GetObject"],
      "Resource":["arn:aws:s3:::example-bucket/foldername/*"
      ]
    }
  ]
}