2016-08-12 75 views
1

刪除從S3存儲的特定按鍵或鑰匙這boto3 function允許從S3存儲鍵的列表中刪除。請你可以演示一個如何使用它的例子:演示如何使用boto3

  1. 一個要刪除的密鑰。
  2. 要刪除的多個鍵的列表。

與感謝。

delete_objects(**kwargs) 
This operation enables you to delete multiple objects from a bucket using a single HTTP request. You may specify up to 1000 keys. 

Request Syntax 

response = bucket.delete_objects(
    Delete={ 
     'Objects': [ 
      { 
       'Key': 'string', 
       'VersionId': 'string' 
      }, 
     ], 
     'Quiet': True|False 
    }, 
    MFA='string', 
    RequestPayer='requester' 
) 

回答

1

刪除一個對象:

response = bucket.delete_objects(
    Delete={ 
     'Objects': [ 
      { 
       'Key': 'myObjectKey' 
      } 
     ] 
    } 
) 

刪除兩個對象:

response = bucket.delete_objects(
    Delete={ 
     'Objects': [ 
      { 
       'Key': 'myFirstObjectKey' 
      }, 
      { 
       'Key': 'mySecondObjectKey' 
      } 
     ] 
    } 
) 

我覺得像文檔(您鏈接)使得這種極爲明顯。我很好奇你是如何發現文檔混淆的。

+0

許多感謝的解釋,這是你的暗示,即排序的問題。被術語糾纏在一起;鍵在S3存儲鍵中,但也是在Python字典鍵:值中的鍵。 ;-) – GoFaster

0

答:

# Delete key(s) 
forDeletion = [{'Key':'IMG_20160807_150118.jpg'}, {'Key':'IMG_20160807_150124.jpg'}] 
response = bucket.delete_objects(Delete={'Objects': forDeletion}) 

for elem in response.get('Deleted'): 
    print(elem['Key']) 

輸出:

IMG_20160807_150118.jpg 
IMG_20160807_150124.jpg