我是否可以使用boto将文件从s3传输到远程计算机而无需创建本地副本

时间:2016-03-30 22:44:11

标签: python-2.7 amazon-s3 boto

我有S3和两个内部服务器(IS1和IS2)。我有S3上的文件,我需要转移到IS2,但python脚本(使用boto)必须从IS1运行。我目前正在以S3(boto)>运行传输。 IS1(scp)> IS2。

我想消除中间转移,只做S3(boto)> IS2但脚本执行必须在IS1上运行。我使用get_contents_to_filename()进行传输,但是我无法使用任何语法来让我将路径设置为IS1上的某个地方。有没有办法用boto做到这一点?

1 个答案:

答案 0 :(得分:0)

您可以在IS1上读取文件内容并将其传送到IS2。

  1. 阅读内容
  2. 使用get_contents_as_string函数检索内容

    1. 管道
    2. 有许多方法。 e.g。

      echo "$content" | ssh auth@example.com "cat > file.txt"
      

      或在IS1上设置netcat作为发送方,将IS2设置为接收方

      IS2:nc -l 8989 > file.txt(听8989)

      IS1:echo "$content" | nc example.com 8989