如何在AWS s3和AWS ec2之间传输文件

Pra*_*vin 53 amazon-s3 amazon-ec2 amazon-web-services

我正在使用AWS ec2实例.在这个例子中,我得到了一些文件.这些操作由用户数据完成.

现在我想通过在用户数据本身中编写代码来将这些文件存储在s3上.

  • 那么如何在s3上存储这些文件呢?
  • 有任何教程吗?

ajt*_*rds 62

使用最新的AWS CLI(http://aws.amazon.com/cli/),您可以使用以下命令将文件从Ec2实例甚至本地计算机复制到S3存储.

aws s3 cp myfolder s3://mybucket/myfolder --recursive
Run Code Online (Sandbox Code Playgroud)

然后你会得到类似的东西:

upload: myfolder/file1.txt to s3://mybucket/myfolder/file1.txt 
upload: myfolder/subfolder/file1.txt to s3://mybucket/myfolder/subfolder/file1.txt
Run Code Online (Sandbox Code Playgroud)

如果这是您第一次使用awsCLI工具,那么您需要运行:

aws configure

这将要求您输入访问密钥和密钥以及指定默认区域.

  • aws cli比s3cmd好得多。 (3认同)

Dre*_*ury 32

有多种方法可以将文件发送到S3.我在下面列出了它们以及相关的安装和文档.

PHP实现的一个示例:

<?php

    // Simple PUT:
    if (S3::putObject(S3::inputFile($file), $bucket, $uri, S3::ACL_PRIVATE)) {
        echo "File uploaded.";
    } else {
        echo "Failed to upload file.";
    }

?>
Run Code Online (Sandbox Code Playgroud)

s3cmd的一个例子:

s3cmd put my.file s3://bucket-url/my.file
Run Code Online (Sandbox Code Playgroud)

编辑

值得一提的另一个选择是AWS CLI http://aws.amazon.com/cli/ 这是广泛可用的,例如它已经包含在AmazonLinux中,可以通过Python下载(安装在许多系统上,包括linux和windows) .

http://docs.aws.amazon.com/cli/latest/reference/s3/index.html

可用命令,cp ls mb mv rb rm同步网站

用于与S3交互的http://docs.aws.amazon.com/cli/latest/reference/s3api/index.html


Vik*_*dia 11

s3cmd软件包安装为:

yum install s3cmd
Run Code Online (Sandbox Code Playgroud)

要么

sudo apt-get install s3cmd
Run Code Online (Sandbox Code Playgroud)

取决于您的操作系统.然后用这个复制数据:

s3cmd get s3://tecadmin/file.txt
Run Code Online (Sandbox Code Playgroud)

ls可以列出文件.

对于更多的detils看到这个


dig*_*oel 9

我正在使用s3cmd来存储我的ec2实例中每晚导出的数据库备份文件.配置s3cmd后,您可以在其站点上阅读,然后可以运行如下命令:

s3cmd put ./myfile s3://mybucket


Pra*_*d D 6

使用s3cmd为:

s3cmd get s3://AWS_S3_Bucket/dir/file
Run Code Online (Sandbox Code Playgroud)

了解如何在此处安装s3cmd :

这对我有用......