删除S3对象

Him*_*ack 5 c# amazon-s3 amazon-web-services

我正在使用.net,我正在尝试从S3存储桶中删除一个对象.我尝试了以下方法:

Amazon.S3.AmazonS3Client client = new Amazon.S3.AmazonS3Client(Properties.Settings.Default.AmazonS3VideoSrcKey, Properties.Settings.Default.AmazonS3VideoSrcSecret);
client.DeleteObject(new Amazon.S3.Model.DeleteObjectRequest() { BucketName = "xxxx", Key = "http://....../filename"});
Run Code Online (Sandbox Code Playgroud)

我不让IsDeleteMarker成真.

有什么不对?

谢谢

Che*_*rel 13

你的密钥是否有http:// ...前缀?

我的猜测是你错误地传递了一个URL而不是一个键.您的请求应该看起来更像这样:

client.DeleteObject(new Amazon.S3.Model.DeleteObjectRequest() { BucketName = "xxxx", Key = "filename"});
Run Code Online (Sandbox Code Playgroud)

  • S3通过简单地支持"/"作为密钥的一部分来支持文件夹.所以例如一个键可以是"文件夹/文件名".因此,当我在答案中写"文件名"时,我指的是对象的关键 (2认同)