使用预签名URL从AWS s3读取文件的内容

拉特纳迪普

我正在尝试使用AWS Java Sdk从s3存储桶读取和打印文件的内容。我有一个预先签名的URL,可让我访问(和下载)文件。但是,我无法使用预签名URL读取文件。

我正在寻找与以下代码段类似的内容-

public void readFromS3(String bucketName, String key) throws IOException {
S3Object s3object = s3.getObject(new GetObjectRequest(bucketName, key));
System.out.println(s3object.getObjectMetadata().getContentType());
System.out.println(s3object.getObjectMetadata().getContentLength());

BufferedReader reader = new BufferedReader(new InputStreamReader(s3object.getObjectContent()));

String line;

while((line = reader.readLine()) != null) {
// can copy the content locally as well
// using a buffered writer

System.out.println(line);
}
}

我可以访问的URL使我可以下载文件。

我也看了下面的参考,但没有成功-

http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/s3/AmazonS3Client.html

http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/s3/model/GetObjectRequest.html

有人可以帮忙吗?

提前致谢!

耶苏丹·库尔卡尼

如果您具有预签名的URL,则无需使用AWS sdk来访问S3对象。

正如@EricNord所说,URL本身提供了S3身份验证以允许访问。该URL将在查询参数中附加一个STS令牌,从而启用身份验证。

基本的HTTP客户端将能够读取URL的内容。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用Retrofit2将文件上传到AWS S3预签名URL

酒馆 - 无法使用 aws 预签名 url 发布文件

使用预签名 URL 上传后,AWS S3 上的文件在文件中包含额外信息

预签名的AWS S3 PUT URL无法使用jquery从客户端上传

创建Amazon AWS S3预签名URL PHP

AWS S3预签名URL限制

AWS S3预签名URL的哪个IAM角色

AWS S3预签名URL改为返回ListBucketResult

在R中从AWS S3读取gzip文件的内容

具有强制内容-md5的AWS S3预签名URL

AWS预签名URL ACL公共读取无效签名

如何使用预签名的URL调试S3上传?

ETag 与 Amazon S3 预签名 URL 的使用

使用预签名 URL 流式上传到 S3

AWS PHP SDK:限制预签名URL中的S3文件上传大小

将文件上传到AWS S3预签名URL Retrofit2 Android

AWS S3-使用REST API生成预签名URL

AWS S3无法使用预签名URL检索文档:无效的日期(自纪元以来应为秒)

429使用aws-sdk为s3对象生成预签名的URL时,请求过多

如何使用Node.js和Axios将文件上传到AWS中的预签名URL?

使用预签名 URL 将文件上传到 s3

将文件上传到S3预签名URL

如何为带有std :: fstream中gz压缩文件的预签名url的AWS S3 HTTP上传设置内容长度?

过期的 s3 预签名 url

Amazon S3预签名URL

S3预签名URL的格式

Retrofit + AWS S3-上载URL的预签名URL,我应该对PUT请求使用循环吗?

在不知道对象键和存储桶名称的情况下使用预签名的 url 从 Amazon S3 读取 zip 文件

使用Boto3从S3存储桶读取文件内容