有没有办法知道某人是否已将某些内容上传到生成的S3的公共预签名URL?就像将触发我的servlet的回调一样。
例如:
我从此docs创建了一个预签名的URL
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
将被上载文件中的数据调用。 最佳答案
您可以使用S3 event notifications生成通知。查看ObjectCreated
事件。可以使用S3前缀过滤通知。 (链接页面上的AWS文档中有示例。)