как удалить файлы из блока Amazon S3?

Я должен написать код в Python, который удалит необходимый файл из блока Amazon S3. Я могу соединиться с блоком Amazon S3 и также сохранить файлы, но как я могу удалить файл?

68
задан cmaher 3 May 2018 в 18:50
поделиться

3 ответа

На данный момент я решил проблему с помощью утилиты Linux s3cmd . Я использовал это в Python следующим образом:

delFile = 's3cmd -c /home/project/.s3cfg del s3://images/anon-images/small/' + filename
os.system(delFile)
1
ответ дан 24 November 2019 в 14:04
поделиться

Через какой интерфейс? Используя интерфейс REST, вы просто отправляете удаление :

DELETE /ObjectName HTTP/1.1
Host: BucketName.s3.amazonaws.com
Date: date
Content-Length: length
Authorization: signatureValue

Через интерфейс SOAP :

<DeleteObject xmlns="http://doc.s3.amazonaws.com/2006-03-01">
  <Bucket>quotes</Bucket>
  <Key>Nelson</Key>
  <AWSAccessKeyId> 1D9FVRAYCP1VJEXAMPLE=</AWSAccessKeyId>
  <Timestamp>2006-03-01T12:00:00.183Z</Timestamp>
  <Signature>Iuyz3d3P0aTou39dzbqaEXAMPLE=</Signature>
</DeleteObject>

Если вы используете библиотеку Python , например, boto , он должен предоставлять возможность «удаления», например delete_key () .

2
ответ дан 24 November 2019 в 14:04
поделиться

нашел еще один способ сделать это с помощью бото:

from boto.s3.connection import S3Connection, Bucket, Key

conn = S3Connection(AWS_ACCESS_KEY, AWS_SECERET_KEY)

b = Bucket(conn, S3_BUCKET_NAME)

k = Key(b)

k.key = 'images/my-images/'+filename

b.delete_key(k)
81
ответ дан 24 November 2019 в 14:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: