1

我正在尝试获取 aws-publicdatasets 存储桶中用于 commoncrawl 的对象名称列表。我一直在研究使用 Jets3t 来 createSignedGetUrl 但我不确定是否可以通过以下方法获取对象列表:

    credentials = new AWSCredentials(accessId, secretId);
    restS3Service = new RestS3Service(credentials);
    restS3Service.setRequesterPaysEnabled(true);
    Calendar cal = Calendar.getInstance();
    cal.set(Calendar.HOUR, cal.get(Calendar.HOUR)+1);
    Date expiryDate = new Date(cal.getTimeInMillis());
    String getUrl = restS3Service.createSignedGetUrl(bucketName, null,
            expiryDate, false);

    S3Object obj = signedUrlHandler.getObjectWithSignedUrl(getUrl);
4

1 回答 1

2

Requester Pays功能可用于共享存储桶,并允许由经过身份验证的 AWS 用户而不是存储桶的所有者支付共享存储桶的使用费。

因此,如果您想创建一个签名 URL,那么没有人可以通过签名 URL 访问该对象。如何识别它是由哪个 AWS 账户访问的,或者当没有 S3 用户访问它时会发生什么。

我认为这是不可能的。

于 2012-05-11T05:43:46.100 回答