S3JavaAPI确认
我正在编写一个java程序来添加/删除/修改S3存储桶中的文件S3JavaAPI确认,java,amazon-s3,Java,Amazon S3,我正在编写一个java程序来添加/删除/修改S3存储桶中的文件 client.deleteObject(bucketName, key) 密钥(如果存在)将被删除,如果该密钥无效,则不会发生任何事情 是否有任何方法可以获得deleteObject()和putObject()的确认,以便知道添加或删除选项已成功完成?这在deleteObject()中肯定是必需的,我想确认给定的密钥是否存在。首先,AWS SDK有很好的文档记录。也就是说,您可能应该首先查阅JavaDoc 关于您的问题,方法Ama
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中是否存在一个键,这可能适用于我的用例。@user3528600DELETE
操作是幂等的。在尝试删除对象后,该对象肯定不存在,因此请求成功。如果没有错误,success意味着“objectdeleted,If present.”将DELETE
视为将请求排队以确保对象不存在。这在技术上并不精确,但在概念上是有效的。