gpt4 book ai didi

java - Amazon S3 存储桶访问以编程方式由第三方拥有

转载 作者:行者123 更新时间:2023-11-30 03:07:37 26 4
gpt4 key购买 nike

我是 S3 新手。我们的一位供应商与我们共享一个存储桶和对象。我们创建了一个 AWS 帐户并将我们的团队成员添加为用户。我们可以通过amazon aws cli访问bucket中的数据。我正在寻找 java api 以编程方式访问数据。

我创建了一个独立的代码

    /*
* Create your credentials file at ~/.aws/credentials (C:\Users\USER_NAME\.aws\credentials for Windows users)
* and save the following lines after replacing the underlined values with your own.
*
* [default]
* aws_access_key_id = YOUR_ACCESS_KEY_ID
* aws_secret_access_key = YOUR_SECRET_ACCESS_KEY
*/

AmazonS3 s3 = new AmazonS3Client();
Region usEast1 = Region.getRegion(Regions.US_EAST_1);
s3.setRegion(usEast1);
System.out.println("Listing objects");
ObjectListing objectListing = s3.listObjects(new ListObjectsRequest()
.withBucketName("exports.abx.t-z/xyz")
);
for (S3ObjectSummary objectSummary : objectListing.getObjectSummaries()) {
System.out.println(" - " + objectSummary.getKey() + " " +
"(size = " + objectSummary.getSize() + ")");
}
System.out.println();

现在我遇到以下异常

    Listing objects
Caught an AmazonServiceException, which means your request made it to Amazon S3, but was rejected with an error response for some reason.
Error Message: The specified key does not exist. (Service: Amazon S3; Status Code: 404; Error Code: NoSuchKey; Request ID: C80B0460828347D0)
HTTP Status Code: 404
AWS Error Code: NoSuchKey
Error Type: Client
Request ID: C80B0460828347D0

我没有访问 key 。如有任何帮助,我们将不胜感激。

谢谢,阿米特

最佳答案

404 响应表明您的凭据正常,但您请求的内容不存在。

这部分代码看起来很可疑:

new ListObjectsRequest().withBucketName("exports.abx.t-z/xyz")

withBucketName 方法应指定存储桶名称。我怀疑在您的情况下,存储桶名称应该只是“exports.abx.t-z”。如果您希望列出该存储桶中“xyz”“文件夹”中的所有对象,那么您可能需要执行以下操作:

new ListObjectsRequest().withBucketName("exports.abx.t-z").withPrefix("xyz")

关于java - Amazon S3 存储桶访问以编程方式由第三方拥有,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34358979/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com