Roh*_*han 6 amazon-s3 amazon-web-services aws-java-sdk
在我的应用程序中,我将获得s3文件的网址,例如:https : //s3.amazonaws.com/account-update/input.csv。 我必须先下载它,然后对其进行处理。我已经做了:
AmazonS3 s3 = new AmazonS3Client(credentials);
S3Object s3object = s3.getObject(new GetObjectRequest(
bucketName, key));
Run Code Online (Sandbox Code Playgroud)
我可以通过提供存储桶名称和密钥来下载文件,但是如何仅使用url(https://s3.amazonaws.com/account-update/input.csv)下载文件?
您可以通过标准的curl / wget下载文件,就像从Internet上下载任何其他文件一样。
但是,重要的部分是允许从Amazon S3 访问对象。一些选择:
您可以考虑使用如下所示的AWS开发工具包类AmazonS3URI:
URI fileToBeDownloaded = new URI(" https://s3.amazonaws.com/account-update/input.csv");
AmazonS3URI s3URI = new AmazonS3URI(fileToBeDownloaded);
S3Object s3Object = s3Client.getObject(s3URI.getBucket(), s3URI.getKey());
Run Code Online (Sandbox Code Playgroud)
从这里开始,您应该能够使用以与代码中显示的s3Object类似的方式获得的s3Object。
有关使用此类的更多与Java相关的AWS开发工具包示例,请在此处查看
要启用 HTTP 访问,您必须在 S3 控制台中将存储桶设置为静态网站。请注意,除非您设置适当的S3 访问控制,否则这会将您的所有数据暴露到网络上。
不过,您通过 Java SDK 访问的方法不会使用这种类型的连接。它将通过内置的 S3 协议进行连接。您应该检查您的 IAM 角色或策略以确保您拥有正确的权限 ( s3:GetObject)。s3:ListBucket如果该对象不存在,您还需要看到 404。
| 归档时间: |
|
| 查看次数: |
23281 次 |
| 最近记录: |