python - 如何使用 boto3 从/到 stdin/stdout 到/从 S3 流式传输

标签 python amazon-s3 boto3

我正在寻求帮助,弄清楚如何使用 boto3 将对象从标准输入和标准输出流式传输到标准输入和标准输出。 AWS S3 cp 命令可以通过将“-”指定为文件名来做到这一点,但查看 boto3 文档我不明白如何做。

最佳答案

对于STDOUT的对象,您可以将S3对象作为流打开

s3 = boto3.client('s3')
s3.download_fileobj('your_bucket', 'your_key', sys.stdout)

STDIN 上传几乎是一样的,但取决于你想做什么,你可以让你的生活更轻松(nb python 3 here`)

some_stuff = input('type something: ')
s3.put_object(**{
    'Bucket': 'your_bucket',
    'Key': 'your_key',
    'Body': some_stuff
})

关于python - 如何使用 boto3 从/到 stdin/stdout 到/从 S3 流式传输,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35121570/

相关文章:

python - 使用 Boto3 查找属于特定目标组的 EC2 实例

python - Matplotlib 绘制数百个矩形轮廓

python - 如何将变量从 python 脚本传递到 bash 脚本

sql-server - 尝试从 RDS 备份到 s3,但收到与 kms :GenerateDataKey, 相关的错误消息,即使假定角色具有权限

amazon-web-services - 如何找到我的 AWS S3 存储桶或文件夹的总大小?

python - 值错误: non-string names in Numpy dtype unpickling only on AWS Lambda

python - 如何在Python中根据json文件的最新时间戳条件创建并写入文件?

python - 我可以在 SQLite/Python 中加速大型数据集操作吗?

amazon-web-services - 将AWS Lambda函数代码直接存储在S3存储桶中

python - 使用 Boto3 使用自定义日志记录信息为 get_object 创建一个预签名的 S3 URL?