我正在尝试在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);
答案 0 :(得分:2)
Requester Pays功能可用于共享存储桶,并允许由经过身份验证的AWS用户而不是存储桶的所有者支付共享存储桶的使用情况。
因此,如果您要创建签名URL,则没有任何人可以通过签名URL访问该对象。如何通过访问哪个AWS账户或未被S3用户访问时发生的情况来识别它。
我认为这是不可能的。