【发布时间】:2017-05-16 10:43:59
【问题描述】:
您好,我们正在尝试使用 AWS S3 上传和获取带有加密的文件 URL。
我们正在使用此代码上传:
using (var client = GetS3ClientConnection(AccessKey, SecretKey, RegionEndpoint))
{
var request = new PutObjectRequest
{
BucketName = FilePathInS3,
Key = FileNameInS3,
ServerSideEncryptionCustomerMethod = ServerSideEncryptionCustomerMethod.AES256,
ServerSideEncryptionCustomerProvidedKey = base64Key //= "Is this ServerSideEncryptionKeyManagementServiceKeyId?"
};
using (var ms = new MemoryStream(fileByteArray))
{
request.InputStream = ms;
client.PutObject(request);
}
}
这个得到:
using (var client = GetS3ClientConnection(AccessKey, SecretKey, RegionEndpoint))
{
GetPreSignedUrlRequest request = new GetPreSignedUrlRequest
{
BucketName = FilePathInS3,
Key = FileNameInS3,
Expires = 1,
Protocol = Protocol.HTTP,
ServerSideEncryptionKeyManagementServiceKeyId = "KEY"
};
url = client.GetPreSignedURL(request);
}
当我们获取 URL 并尝试访问它时,我们得到了 access denied invalid Key。
怎么了?请帮忙
【问题讨论】:
标签: c# amazon-web-services amazon-s3