AWS S3存储桶用于公开发布数据

时间:2017-08-30 21:27:43

标签: amazon-web-services amazon-s3 adobe-analytics bucket

我正在尝试让Adobe将他们的点击流分析数据 - 使用Adobe Experience Amazon S3文件传递 - 发布到我创建的AWS S3存储桶(称为adobe)。因此,我创建了一个IAM用户,将其分配给具有以下IAM策略的组,并使用IAM用户的访问权限和密钥配置Adobe S3 File Delivery

var crypto = require('crypto');
var fs = require('fs');
var AWS = require('aws-sdk'); 
var s3 = new AWS.S3(); 

exports.handler = (event, context, callback) => {

 var params = {
    Bucket: 'bucket_name',
    Key: 'key', 
 };

var hash = crypto.createHash('md5');
var stream = s3.getObject(params, function(err, data) {
  if (err){
    console.log(err);
    return;
  }
}).createReadStream();

stream.on('data', function (data) {
    hash.update(data, 'utf-8')
})

stream.on('end', function () {
    console.log(hash.digest('hex'))
})

};

不确定存储桶地址是什么但尝试过:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AllowGroupToSeeBucketListAndAlsoAllowGetBucketLocationRequiredForListBucket",
            "Action": [
                "s3:ListAllMyBuckets",
                "s3:GetBucketLocation"
            ],
            "Effect": "Allow",
            "Resource": [
                "arn:aws:s3:::*"
            ]
        },
        {
            "Sid": "AllowRootLevelListingOfCompanyBucket",
            "Action": [
                "s3:*"
            ],
            "Effect": "Allow",
            "Resource": [
                "arn:aws:s3:::adobe",
                "arn:aws:s3:::adobe/*"
            ]
        }
    ]
}

每次Adobe回来时都会出现此错误:

捕获到异常:调用GetBucketLocation操作时发生错误(AccessDenied):拒绝访问

我试过网络托管这个存储桶并尝试使用此存储桶地址:

https://s3-eu-west-1.amazonaws.com/adobe/daily/

......同样的错误。

使用Cloudberry for S3,我检查了密钥和访问密钥,它在访问该存储桶和子文件夹方面运行良好。我没有使用CLI检查。

任何想法/帮助非常感谢。感谢。

1 个答案:

答案 0 :(得分:0)

@jarmod - 这就是答案 - 添加一个桶名而不是桶地址使其工作。感谢

感谢其他人。