2012-01-14 233 views
4

我正在使用.net,我试图从S3存储桶中删除一个对象。 我试过如下:删除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"}); 

我不明白IsDeleteMarker如此。

什么可能是错的?

谢谢

回答

9

您的钥匙是否有http:// ...前缀?

我的猜测是你错误地传递了一个URL而不是一个密钥。 您的请求应该更像是这样的:

client.DeleteObject(new Amazon.S3.Model.DeleteObjectRequest() { BucketName = "xxxx", Key = "filename"}); 
+0

那么文件夹呢? – Himberjack 2012-02-12 12:30:14

+2

S3通过简单地支持“/”作为密钥的一部分来支持文件夹。所以例如一个密钥可以是“文件夹/文件名”。因此,当我在我的答案中写下“文件名”时,我的意思是该对象的关键 – 2012-02-13 12:58:23