gpt4 book ai didi

javascript - AWS S3 访问仅有时被拒绝

转载 作者:数据小太阳 更新时间:2023-10-29 04:52:02 24 4
gpt4 key购买 nike

几天来,我一直在尝试将用于 javascript 的 aws-sdk 文件上传到 s3 存储桶。我添加了正确的 CORS 策略,出于测试目的,该存储桶具有公共(public)权限。不过,文件上传只有 50% 的时间有效。

我正尝试从我的网站连续上传 3-4 个文件,但在第二个文件之后我的访问被拒绝。由于某种原因,前 2 次上传成功,但第 3 次开始失败。我不知道我是否发现了一个小故障,或者我是否做错了什么。

我的 COR 政策是。我也试过了

`<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>http://*</AllowedOrigin>
<AllowedOrigin>https://*</AllowedOrigin>
<AllowedMethod>PUT</AllowedMethod>
<AllowedMethod>POST</AllowedMethod>
<AllowedMethod>GET</AllowedMethod>
<AllowedMethod>DELETE</AllowedMethod>
<MaxAgeSeconds>3000</MaxAgeSeconds>
<ExposeHeader>ETag</ExposeHeader>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>`

我也试过:

<AllowedOrigin>*</AllowedOrigin>

没有成功。

为了上传文件,我使用 aws-cognito sdk for js 的临时凭证。我用来上传文件的代码如下:

function uploadFile(fileData,callback){
var file = fileData[4];
var key = "";
for(i=0; i<3; i++){
var temp = Math.ceil(Math.random()*1000000000000)
key=key+temp;
}

AWS.config.sessionToken= mySessionToken;
AWS.config.accessKeyId= myAccessKey;
AWS.config.secretAccessKey= mySecretKey;
AWS.config.region= myRegion;
var bucket = new AWS.S3({params: {Bucket: myBucketName}});
var params = {Key: key, ContentType: file.type, Body: file, ACL:'bucket-owner-
full-control'};
bucket.upload(params, function (err, data) {
if (err) {

callback(false,err,fileData);

}
else{
callback(true,"",fileData);
}
});

}

如果重要的话,我上传的网站托管在 ec2 实例上。

我知道有很多关于如何让文件上传与 S3 一起工作的帖子,但我从未见过它只在部分时间工作的地方。我假设我使用的凭据和我的 CORS 配置是正确的,否则上传将永远无法正常工作?

在此先感谢您的帮助!

编辑:

此错误仅在第 3 次连续上传及以后发生。我上传的第一个和第二个文件都没有错误,都成功了。

我收到的错误码如下:

把[S3Instance] 403 Forbidden

<Error>
<Code>
AccessDenied
</Code>
<Message>
Access Denied
</Message>
<RequestId>
RequestId
</RequestId>
<HostId>
HostId
</HostId>
</Error>

最佳答案

我遇到了同样的问题,我将两个策略:AWSLambdaExecute 和 AWSLambdaBasicExecutionRole 附加到与我的 lambda 关联的 IAM Angular 色,这解决了问题。

关于javascript - AWS S3 访问仅有时被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45946830/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com