是的,即使不是完整文件名,您仍然可以删除存储桶中的文件。
以下是使用AWS SDK for Python(Boto3)的示例代码,演示如何删除存储桶中的文件:
import boto3
def delete_file_from_s3_bucket(bucket_name, file_prefix):
# 创建S3客户端
s3 = boto3.client('s3')
# 获取存储桶中的所有对象
response = s3.list_objects_v2(Bucket=bucket_name, Prefix=file_prefix)
# 遍历找到的对象并删除它们
for obj in response['Contents']:
key = obj['Key']
s3.delete_object(Bucket=bucket_name, Key=key)
print(f'Deleted file: {key}')
# 使用示例
bucket_name = 'your-bucket-name'
file_prefix = 'path/to/file/'
delete_file_from_s3_bucket(bucket_name, file_prefix)
在上述示例中,bucket_name是您要删除文件的存储桶的名称,file_prefix是文件的前缀。通过调用list_objects_v2函数,您可以获取存储桶中具有指定前缀的所有对象的列表。然后,通过循环遍历找到的对象,并使用delete_object函数删除它们。
请注意,AWS S3并不支持直接删除目录。上述代码只能删除存储桶中与指定前缀匹配的文件。