如何使用提供的 url 从 s3 下载文件?

新手上路,请多包涵

在我的应用程序中,我将获得 s3 文件的 url,如: https ://s3.amazonaws.com/account-update/input.csv 我必须下载它然后处理它。我已经做了什么:

 AmazonS3 s3 = new AmazonS3Client(credentials);
S3Object s3object = s3.getObject(new GetObjectRequest(
bucketName, key));

我可以通过提供存储桶名称和密钥来下载文件,但是如何仅使用 url( https://s3.amazonaws.com/account-update/input.csv ) 下载文件?

原文由 Rohit Chouhan 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.7k
1 个回答

您可以通过标准的 curl/wget 下载该文件,就像您从 Internet 下载任何其他文件一样。

然而,重要的部分是 启用从 Amazon S3 访问对象。几个选项:

  • 使对象公开可读: 这可以通过控制台或 CLI/API 完成。但是,任何拥有该 URL 的人都可以下载它。
  • 创建一个 Amazon S3 存储桶策略,授予对所需文件/目录/存储桶的读取访问权限。但是,同样,任何拥有 URL 的人都可以访问这些对象。
  • 保持对象的私密性,但 使用 预签名的 URL 将参数添加到 URL 以证明您被允许下载该对象。这个预签名 URL 是有时间限制的,可以使用当前的 AWS 凭证通过几行代码生成。

原文由 John Rotenstein 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题