如何将文件从 Amazon EC2 服务器上传到 S3 存储桶?

如何将文件从 Amazon EC2 服务器上传到 S3 存储桶?

将文件从 EC2 Web 服务器上传到 S3 存储桶以进行内容传送的默认方式是什么?

答案1

答案取决于目的。例如,如果您的 EC2 实例正在运行 PHP 应用程序,那么使用 PHP-SDK 将是最佳途径。某些应用程序可能会发现将 S3 存储桶挂载为本地文件系统很有用(例如 S3-fuse)。

但是,如果你只是想通过 shell 将文件从 EC2 上传到 S3,我建议Tim Kay 的 aws脚本。这是一个独立的 perl 脚本,无需安装即可运行,也可以安装以设置别名函数。使用此脚本将文件上传到现有存储桶的过程如下:

s3put bucket_name/filename.ext /path/to/local/file/name.ext

它支持 AWS 的大部分功能,并且其错误消息足够详细,使得问题调试相当容易。

答案2

您可以使用 s3cp 工具。它类似于 scp 命令。有关下载和文档,请参阅http://www.beaconhill.com/opensource/s3cp.htmlhttp://aws.amazon.com/code/Java/3124

安装后,您可以例如复制到 S3:s3cp local-file s3://bucket/object[/]

答案3

这是一个简单的例子,说明如何直接上传到 s3

http://sente.cc/upload_to_s3.html

代码:

<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  </head>
  <body>
  <h3>refresh the page after you've submitted to see your new image</h3>
    <div style="width:300px">
    <form action="http://s3.amazonaws.com/dev.sente" method="post" enctype="multipart/form-data">
      <fieldset>
      <input type="hidden" name="acl" value="public-read" /> <br />
      <i>name of key:</i><input type="text" name="key" readonly="true" value="image.jpg" /> <br />
      <input name="file" type="file" /> <br />
      <input name="submit" value="Upload" type="submit" />
    </fieldset>
    </form>
  </div>
    <br>
    <a href="http://s3.amazonaws.com/dev.sente/image.jpg">http://s3.amazonaws.com/dev.sente/image.jpg</a>
      <br>
      <a href="http://s3.amazonaws.com/dev.sente/image.jpg"><img src="http://s3.amazonaws.com/dev.sente/image.jpg"></a>
    </a>
  </body>
</html>

复制自我对类似问题的回答-这里

答案4

通过 HTTP,与您从任何其他地方上传到 S3 的方式相同。

相关内容