S3 Presigned Url Callback

时间:2016-09-12 18:50:31

标签: java amazon-web-services amazon-s3

有没有办法知道是否有人上传了某些东西来生成S3的公共预约网址?就像一个会触发我的servlet的回调。

例如:

我从此docs

创建了一个预先签名的网址
AmazonS3 s3Client = new AmazonS3Client(new ProfileCredentialsProvider()); 

java.util.Date expiration = new java.util.Date();
long msec = expiration.getTime();
msec += 1000 * 60 * 60; // Add 1 hour.
expiration.setTime(msec);

GeneratePresignedUrlRequest generatePresignedUrlRequest = new GeneratePresignedUrlRequest(bucketName, objectKey);
generatePresignedUrlRequest.setMethod(HttpMethod.PUT); 
generatePresignedUrlRequest.setExpiration(expiration);

URL url = s3client.generatePresignedUrl(generatePresignedUrlRequest); 

// Use the pre-signed URL to upload an object.

然后,我将url提供给某人,如果有人将某些内容上传到url,则会使用上传文件中的数据调用http://example.com/upload

1 个答案:

答案 0 :(得分:2)

您可以使用S3 event notifications生成通知。查看ObjectCreated事件。可以通过S3前缀过滤通知。 (链接页面上的AWS文档中有样本。)