s3 parallel将并行上传放到amazon aws s3
s3-parallel-put的Python项目详细描述
s3 parallel将并行上传到amazon aws s3
s3 parallel put通过 并行执行多个输入。
依赖关系
安装
python -m pip install s3-parallel-put
用法
程序从环境变量中读取您的凭据
aws_access_key_id
和aws_secret_access_key
s3-parallel-put --bucket=BUCKET --prefix=PREFIX SOURCE
通过将前缀
与文件路径组合计算键,从
从source
。值是文件内容。
选项:
-h,--帮助
-显示帮助消息
s3选项:
--bucket=bucket
-设置bucket--bucket_region=bucket_region
-如果不在US-EAST-1(默认新bucket region)中,则设置bucket region--host=host
-设置AWS主机名--secure
和--insecure
控制是否使用安全连接
源选项:
--walk=mode
-设置walk mode(文件系统或tar)--exclude=模式
-排除与模式匹配的文件--include=pattern
-不排除与pattern匹配的文件
看跌期权:
--content type=content-type
-设置内容类型头,设置为"guess"根据文件名猜测,或设置为"magic"根据文件名和libmagic猜测
--gzip
-压缩常见文本文件并将内容编码头设置为
gzip
--gzip type=gzip_type
-如果设置了--gzip
,则将内容类型设置为gzip,默认为已知文本内容类型列表,"all"将对所有内容进行gzip操作。为多个内容类型指定多次(例如--gzip type=guess--gzip type="image/svg+xml"
)[默认值:"guess"]--put=mode
-设置用于决定是否上载文件的启发式。有效模式为:添加
如果钥匙不存在,则设置钥匙的内容。愚蠢的
总是设置键的内容。更新
如果密钥不存在,则设置密钥的内容 内容已更改(由其ETag决定)。复制
默认的启发式方法是update
。如果您知道密钥还没有出现,那么愚蠢的
是最快的(它避免了对每个密钥额外的head请求)。如果您知道某些键已经存在并且它们具有正确的值,则add
比update
快(它避免计算客户端内容的md5和)。
--prefix=前缀
-设置键前缀--resume=文件名
-从日志文件恢复--grant=grant
-a要应用于上载的每个文件的屏蔽acl策略。选项:private
,public read
,public read write
,authenticated read
,bucket owner read
,bucket owner full control
,log delivery write
--header=header:value
-向s3文件添加任意头。可以多次指定此选项。--加密密钥
-使用服务器端加密
日志记录选项:
--日志文件名=文件名
-设置日志文件名-q,--安静
-输出更少-v,--详细单个文件的编制进度
调试和性能调整选项:
--试运行
-不要写入s3。使程序打印它将要执行的操作,但不上载任何文件。强烈建议您在传输任何实际数据之前使用此选项测试程序。--limit=n
-设置要放置的最大键数。使程序上载不超过n个文件。组合的 对于--dry run
,这对于测试也很有用。--processes=n
-设置并行上载进程数
架构
- walker进程生成(filename,key_name)对并将它们插入
放置队列
- 多个putter进程并行使用这些对,上传
将文件发送到s3,并将文件统计信息发送到
stat_queue
- statter进程使用这些逐文件统计信息并生成 汇总统计。
错误
- 有限的错误检查。
待办事项
- 通过分块自动并行上传大文件。
相关项目
许可证
麻省理工学院许可证(MIT)
版权所有(c)2011-2014 Tom Payne
兹免费准许任何人取得副本 本软件和相关文档文件("软件")的 在软件中不受限制,包括但不限于 使用、复制、修改、合并、发布、分发、再授权和/或出售 软件的副本,并允许软件的用户 在满足以下条件的情况下,可以这样做:
上述版权公告及本许可公告须包括在 软件的副本或大部分。
本软件按"原样"提供,无任何形式的保证,明示或 默示的,包括但不限于适销性保证, 适合某一特定目的和非侵犯性。在任何情况下 作者或版权所有者应对任何索赔、损害或其他 责任,无论是在合同诉讼、侵权诉讼或其他诉讼中, 不属于或与本软件有关,或使用或与本软件的其他交易有关。 软件。
vim:set spell spelllang=en textwidth=76: