我们公司正在使用带有AWS SDK V1的Ruby 2.1.3在S3上上传文件。我需要将文件直接从私有外部存储桶流式传输到我们的个人存储桶(无需在本地实际下载)。我找不到关于这个主题的任何好文件。
我认为SDK提供的copy_from方法不允许从私有外部存储桶流式传输到我们的存储桶之一。
我们尝试使用open-uri来传输下载并将上传流式传输到s3,但文件总是先完全下载然后上传(它应该是这样吗?)。
欢迎任何帮助!
谢谢。
答案 0 :(得分:0)
V1 SDK不允许您直接在存储桶之间进行传输。您可以执行open-uri所做的操作并下载文件,然后上传到新存储桶。
如果您想要一个仍然可以在Ruby中运行的解决方案,我建议您使用AWS CLI。您可以在代码中添加这样的行:
`aws s3 cp s3://frombucket/ s3://tobucket/`
反引号允许您在ruby脚本中执行系统命令。或者,您可以升级到V2 SDK并使用object.copy_to
命令并在存储桶之间进行复制。希望这有帮助!