Asw*_* Ks 4 python amazon-s3 amazon-web-services boto3
我们如何使用 boto3 删除 S3 文件夹中的文件?
PS - 只应删除文件,应保留文件夹。
Joh*_*ein 22
你将不得不使用 delete_object():
import boto3
s3_client = boto3.client('s3')
response = s3_client.delete_object(
Bucket='my-bucket',
Key='invoices/January.pdf'
)
Run Code Online (Sandbox Code Playgroud)
如果你问如何删除 文件夹中的所有文件,那么您需要遍历具有给定前缀的所有对象:
import boto3
s3_client = boto3.client('s3')
BUCKET = 'my-bucket'
PREFIX = 'folder1/'
response = s3_client.list_objects_v2(Bucket=BUCKET, Prefix=PREFIX)
for object in response['Contents']:
print('Deleting', object['Key'])
s3_client.delete_object(Bucket=BUCKET, Key=object['Key'])
Run Code Online (Sandbox Code Playgroud)
另外,请注意,文件夹实际上并不存在于 Amazon S3 中。对象的密钥(文件名)包含对象的完整路径。如有必要,您可以创建一个带有文件夹名称的零长度文件,以使文件夹“出现”,但这不是必需的。仅仅在给定的路径中创建一个文件夹会使任何子文件夹“出现”,但是当对象被删除时它们会“消失”(因为文件夹实际上并不存在)。
| 归档时间: |
|
| 查看次数: |
12533 次 |
| 最近记录: |