有没有办法知道是否有人上传了某些东西来生成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
。
答案 0 :(得分:2)
您可以使用S3 event notifications生成通知。查看ObjectCreated
事件。可以通过S3前缀过滤通知。 (链接页面上的AWS文档中有样本。)