据我所知,Ansible的S3模块,它只能立刻得到一个对象.
我的问题是,如果我想一次从S3存储桶下载/获取整个存储桶或多个对象,该怎么办?有什么黑客攻击吗?
我能够像这样实现它:
- name: get s3_bucket_items
s3:
mode=list
bucket=MY_BUCKET
prefix=MY_PREFIX/
register: s3_bucket_items
- name: download s3_bucket_items
s3:
mode=get
bucket=MY_BUCKET
object={{ item }}
dest=/tmp/
with_items: s3_bucket_items.s3_keys
Run Code Online (Sandbox Code Playgroud)
笔记:
{{ item }}值将具有前缀.从 Ansible 2.0 开始,S3 模块包含该list操作,可让您列出存储桶中的密钥。
如果您还没有准备好升级到 Ansible 2.0,那么另一种方法可能是使用s3cmd等工具并通过命令模块调用它:
- name: Get objects
command: s3cmd ls s3://my-bucket/path/to/objects
register: s3objects
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7407 次 |
| 最近记录: |