AWS S3存储桶Presigned URL是一种生成的URL,可以让用户在一定时间内访问私有S3对象。它通常用于将S3对象传输到第三方系统。然而,在某些情况下,当使用Presigned URL下载或上传S3对象时,会遇到错误403 “请求被拒绝”。
这个问题的主要原因是Presigned URL的签名设置错误。要解决这个问题,需要重新签名Presigned URL并确保签名设置正确。
例如,在Java中,签名代码示例如下:
AmazonS3 s3Client = AmazonS3ClientBuilder.standard().withCredentials(awsCredentialsProvider).withRegion(regionName).build();
GeneratePresignedUrlRequest generatePresignedUrlRequest = new GeneratePresignedUrlRequest(bucketName, objectKey, HttpMethod.GET)
.withExpiration(expiration);
URL preSignedUrl = s3Client.generatePresignedUrl(generatePresignedUrlRequest);
在此示例中,请确保填写正确的对象键和存储桶名称。如果签名设置正确,您应该能够成功下载或上传S3对象。
上一篇:AWSS3存储桶默认存储类
下一篇:AWSS3存储桶失去访问权限