Iphone 如何使用AWS iOS SDK删除对象?
我正在尝试删除上载到S3存储桶的公共图像(Iphone 如何使用AWS iOS SDK删除对象?,iphone,ios,ipad,amazon-s3,amazon-web-services,Iphone,Ios,Ipad,Amazon S3,Amazon Web Services,我正在尝试删除上载到S3存储桶的公共图像(S3PutObjectRequest属性的cannedACL),以上载图像 AWS SDK中有一个S3DeleteObjectRequest类,但似乎没有任何属性或初始化方法 基于其他语言中的示例代码,看起来应该有key或bucket属性或初始化方法设置这些属性,就像iOS SDK的类中一样,用于将文件上载到bucket 这是怎么回事?SDK只是不完整吗?有没有办法用iOS AWS SDK删除对象?只是从链接到的文档中删除,但这不起作用吗 [s3Clie
S3PutObjectRequest
属性的cannedACL
),以上载图像
AWS SDK中有一个S3DeleteObjectRequest
类,但似乎没有任何属性或初始化方法
基于其他语言中的示例代码,看起来应该有key
或bucket
属性或初始化方法设置这些属性,就像iOS SDK的类中一样,用于将文件上载到bucket
这是怎么回事?SDK只是不完整吗?有没有办法用iOS AWS SDK删除对象?只是从链接到的文档中删除,但这不起作用吗
[s3Client deleteObjectWithKey:@"objectKey" withBucket:@"my-bucket"];
Art Gillespie的回答对我来说也很好 但是,我还发现,通过在S3删除对象请求上设置
键
和bucket
属性,可以实现同样的效果:
S3DeleteObjectRequest *dor = [[S3DeleteObjectRequest alloc] init];
dor.key = AWS_OBJ_PATH;
dor.bucket = AWS_BUCKET;
[s3Client deleteObject:dor];
对于用于S3V2的iOSSDK,此代码非常方便
AWSS3*s3=[AWSS3 defaultS3];
AWSS3DeleteObjectRequest*deleteRequest=[AWSS3DeleteObjectRequest新建];
deleteRequest.bucket=S3BucketName;
deleteRequest.key=gramp.imageKey;
[[s3 deleteObject:deleteRequest]continueWithBlock:^id(BFTask*task){
如果(task.error!=nil){
如果(task.error.code!=AWSS3TransferManager错误已取消&&task.error.code!=AWSS3TransferManager错误已暂停){
NSLog(@“%s错误:[%@]”,函数,任务.Error);
}
}否则{
//这里有完整的逻辑
}
返回零;
}]等待完成]代码>