AWS S3实用程序
s3-wrapper的Python项目详细描述
s3包装
s3 wrapper是AWS的boto3包的s3相关功能的包装。在
快速入门
首先,安装库:
pip install s3-wrapper
接下来,设置凭证(例如~/.aws/credentials
):
应在环境变量中设置以下值:
- AWS_PROFILE_NAME:AWS配置文件名
- S3\u BUCKET_NAME(可选):默认BUCKET名称
如果在环境变量中找不到S3\u BUCKET_NAME,则必须在使用任何实用程序之前设置默认目录:
s3 = S3Utils()
s3.set_default_bucket('test_bucket')
可以使用python-dotenv加载环境变量。在
示例
set_default_bucket
为s3相关的操作设置默认bucket。用法:
s3.set_default_bucket('bucket_name')
move_object
为bucket中的对象分配一个新的键。这个过程包括创建一个新对象,将旧对象复制到新对象,然后删除旧对象。用法:
s3.move_object('directory/subdirectory1/file.json', 'directory/subdirectory2/file.json')
如果要在非默认存储桶上执行此操作,请使用:
s3.move_object('directory/subdirectory1/file.json', 'directory/subdirectory2/file.json', 'bucket_name')
copy_object
在bucket中为一个新的对象分配一个键。这个过程包括创建一个新对象,将旧对象复制到新对象,然后删除旧对象。用法:
s3.copy_object('new_object_key', 'src_object_key')
如果要在非默认存储桶上执行此操作,请使用:
s3.copy_object('new_object_key', 'src_object_key', 'bucket_name')
create_object
在bucket中创建一个新对象并设置其内容/主体。这个过程包括创建一个新对象,将旧对象复制到新对象,然后删除旧对象。用法:
import json
data = {
'message': 'Hello world',
'created_at': '2020-06-03 05:36:00'
}
formatted_data = json.dumps(data)
s3.create_object('key', formatted_data)
如果要在非默认存储桶上执行此操作,请使用:
s3.create_object('key', formatted_data, 'bucket_name')
upload_file
将文件作为对象上载到S3上的磁盘存储器上。用法:
file_path = os.path.join('/tmp', 'subdirectory', 'response.json')
s3.upload_file('file_key', file_path)
如果要在非默认存储桶上执行此操作,请使用:
file_path = os.path.join('/tmp', 'subdirectory', 'response.json')
s3.upload_file('file_key', file_path, 'bucket_name')
delete_object
从S3上的bucket中删除一个对象。用法:
s3.delete_object('key')
如果要在非默认存储桶上执行此操作,请使用:
s3.delete_object('key', 'bucket_name')
delete_objects
从存储桶中删除与提供的键匹配的对象。用法:
s3.delete_objects(['key1, key2', 'key3'])
如果要在非默认存储桶上执行此操作,请使用:
s3.delete_objects(['key1, key2', 'key3'], 'bucket_name')
find_files_with_prefix
查找与给定前缀匹配的文件/对象。如果您想要在一个特定的(假设的)目录中获取对象,这很有帮助。用法:
s3.find_files_with_prefix('/directory/subdirectory/prefix')
如果要在非默认存储桶上执行此操作,请使用:
s3.find_files_with_prefix('/directory/subdirectory/prefix', 'bucket_name')
file_exists
如果给定bucket中存在文件,则返回true。用法:
exists = s3.file_exists('object_key')
如果要在非默认存储桶上执行此操作,请使用:
exists = s3.file_exists('object_key', 'bucket_name')
generate_presigned_url
在给定的expiration秒后过期的bucket中的对象生成一个预先指定的url。在
^{pr21}$如果要在非默认存储桶上执行此操作,请使用:
url = s3.generate_presigned_url('object_key', 3600, 'bucket_name')
download_file
将文件从存储桶下载到磁盘上的给定路径。在
s3.download_file('object_key', '/home/directory/path.json')
如果要在非默认存储桶上执行此操作,请使用:
s3.download_file('object_key', '/home/directory/path.json', 'bucket_name')
- 项目
标签: