2012-01-14 138 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