Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
S3JavaAPI确认_Java_Amazon S3 - Fatal编程技术网

S3JavaAPI确认

S3JavaAPI确认,java,amazon-s3,Java,Amazon S3,我正在编写一个java程序来添加/删除/修改S3存储桶中的文件 client.deleteObject(bucketName, key) 密钥(如果存在)将被删除,如果该密钥无效,则不会发生任何事情 是否有任何方法可以获得deleteObject()和putObject()的确认,以便知道添加或删除选项已成功完成?这在deleteObject()中肯定是必需的,我想确认给定的密钥是否存在。首先,AWS SDK有很好的文档记录。也就是说,您可能应该首先查阅JavaDoc 关于您的问题,方法Ama

我正在编写一个java程序来添加/删除/修改S3存储桶中的文件

client.deleteObject(bucketName, key)
密钥(如果存在)将被删除,如果该密钥无效,则不会发生任何事情


是否有任何方法可以获得
deleteObject()
putObject()
的确认,以便知道添加或删除选项已成功完成?这在
deleteObject()
中肯定是必需的,我想确认给定的密钥是否存在。

首先,AWS SDK有很好的文档记录。也就是说,您可能应该首先查阅JavaDoc


关于您的问题,方法
AmazonS3.putObject(PutObjectRequest)
AmazonS3.deleteObjects(DeleteObjectsRequest)
返回
PutObjectResult
DeleteObjectsResult
。这些对象包含所需的信息…

“类型AmazonS3中的方法deleteObjects(DeleteObjectsRequest)不适用于参数(DeleteObjectRequest)”,其
DeleteObjectsRequest
DeleteObjectRequest
。我修复了我的输入错误“DeleteObjectsResult.getDeletedObjects().size()”返回1,即使给定的bucket中不存在密钥,因此我无法确定该对象是否存在(存在并已删除)。我想如果有任何方法可以检查bucket中是否存在一个键,这可能适用于我的用例。@user3528600
DELETE
操作是幂等的。在尝试删除对象后,该对象肯定不存在,因此请求成功。如果没有错误,success意味着“objectdeleted,If present.”将
DELETE
视为将请求排队以确保对象不存在。这在技术上并不精确,但在概念上是有效的。