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_idaws_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请求)。如果您知道某些键已经存在并且它们具有正确的值,则addupdate快(它避免计算客户端内容的md5和)。
  • --prefix=前缀-设置键前缀

  • --resume=文件名-从日志文件恢复

  • --grant=grant-a要应用于上载的每个文件的屏蔽acl策略。选项:privatepublic readpublic read writeauthenticated readbucket owner readbucket owner full controllog 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:

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java FloatingAction按钮与RecyclerView中的CardView重叠   java如何计算CardLayout中的卡数   从远程系统上传MySQL数据库并访问Java应用程序   java调用堆栈如何处理带或不带返回类型的递归?   Springboot中的java组计数聚集   java如何在javafx textarea中使用richtextfx   获取与Mockito相关的错误时出现Java问题   java如何将JaxRS响应转换为Wiremock响应   Hadoop集群java。net ConnectionException:连接被拒绝错误   java如何加载文件私有文件类型是pem   java在元空间中的提升和加载的类   如何将系统属性传递给从HTML启动的Java小程序   java如何从网页中获取值并在主类中使用它?安卓应用   java在春天,advisor和aspect之间有什么区别?   java如何检测文件是否已重命名?   java消息驱动Bean何时使用