【发布时间】:2020-06-16 11:21:49
【问题描述】:
我的场景是我目前正在使用 AWS CLI 使用以下 AWS CLI 命令将我的目录内容上传到 S3 存储桶:
aws s3 sync results/foo s3://bucket/
现在我需要替换它并使用 python 代码来执行此操作。我正在探索boto3 文档以找到正确的方法。我看到一些选项,例如: https://boto3.amazonaws.com/v1/documentation/api/1.9.42/reference/services/s3.html#S3.Client.upload_file https://boto3.amazonaws.com/v1/documentation/api/1.9.42/reference/services/s3.html#S3.ServiceResource.Object
有人可以建议哪种方法是正确的。
我知道我必须通过调用 boto3.client('sts').assume_role(role, session) 获取凭据并随后使用它们。
【问题讨论】:
-
我发现最简单的方法就是从 python 调用 cli sync 命令,例如使用
os.system因为在 boto3 中没有内置函数。你必须自己实现它。
标签: python-3.x amazon-web-services amazon-s3 boto3 aws-cli