在我的amazon EC2实例中,我有一个名为uploads
的文件夹。在这个文件夹中我有1000张图片。现在我想将所有图像复制到我的新S3存储桶中。我怎么能这样做?
答案 0 :(得分:25)
使用s3cmd
s3cmd get s3://AWS_S3_Bucket/dir/file
如果您使用的是Linux,请在命令行上运行:
sudo apt-get install s3cmd
或Centos,Fedore。
yum install s3cmd
使用示例:
s3cmd put my.file s3://pactsRamun/folderExample/fileExample
就像@ tedder42在评论中说的那样,使用 cp
而不是sync
。
看看以下语法:
aws s3 sync <source> <target> [--options]
示例:
aws s3 sync . s3://my-bucket/MyFolder
Managing Objects Using High-Level s3 Commands with the AWS Command Line Interface
提供了更多信息和示例答案 1 :(得分:5)
aws s3 sync your-dir-name s3://your-s3-bucket-name/folder-name
或者,您可以对一个选定的文件使用以下命令。
aws s3 sync your-dir-name/file-name s3://your-s3-bucket-name/folder-name/file-name
或者您可以使用狂野角色来选择所有。请注意,这将复制整个目录,并生成元数据并将其保存到s3存储桶文件夹中。
aws s3 sync . s3://your-s3-bucket-name/folder-name
在How to connect to S3 Bucket from an EC2 Instance – AWS Help
上查看我的整篇博文答案 2 :(得分:2)
另请注意,在aws cli与s3同步时,它是多线程的,并且一次上传文件的多个部分。但是,线程数目此不可配置。
答案 3 :(得分:1)
aws s3 mv /home/inbound/ s3://test/ --recursive --region us-west-2
答案 4 :(得分:1)
要从EC2复制到S3,请在EC2的命令行中使用以下代码。
首先,您必须为EC2实例赋予“具有s3完全访问权限的IAM角色”。
aws s3 cp Your_Ec2_Folder s3://Your_S3_bucket/Your_folder --recursive
答案 5 :(得分:0)
我们确实有一个dryrun功能可用于测试。
答案 6 :(得分:0)
这可以非常简单地完成。请执行以下步骤:
aws s3 cp文件位置/文件名s3:// bucketname
因此,您无需安装或进行任何额外的工作。
请注意...文件位置是指本地地址。而bucketname是您的存储桶的名称。 另请注意:如果您的实例和S3存储桶在同一帐户中,则可以这样做。 干杯。