0
我試圖使用ajax請求來獲取我的s3存儲桶子文件夾中的所有圖像文件。訪問子文件夾中的文件AWS 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/*"
]
}
]
}
你可能會發現這個頁面有趣https://brandonwamboldt.ca/understanding-s3-permissions-1662/ – Vorsprung
相關:https://stackoverflow.com/questions/41251450/how-to -make-ajax-call-to-aws-s3-bucket-to-get-file-name-from-folder – jarmod
請注意,「公開」僅適用於現有對象,而不適用於將來的對象。 –