我正在使用AWS ec2实例。在这个例子中,我产生了一些文件。这些操作由用户数据完成。如何在AWS s3和AWS ec2之间传输文件
现在我想通过在用户数据本身编写代码在s3上存储这些文件。
- 那么如何将这些文件存储在s3上?
- 有任何教程吗?
我正在使用AWS ec2实例。在这个例子中,我产生了一些文件。这些操作由用户数据完成。如何在AWS s3和AWS ec2之间传输文件
现在我想通过在用户数据本身编写代码在s3上存储这些文件。
有多种方式将文件发送到S3。我在下面列出了它们以及相关的安装和文档。
S3CMD:(http://s3tools.org/s3cmd)您可以在Debian安装此/ Ubuntu的容易通过apt-get安装s3cmd,然后运行命令行。你可以将它合并到bash脚本或你的程序中。
S3FS:(http://www.pophams.com/blog/howto-setups3fsonubuntu1104x64和https://code.google.com/p/s3fs/wiki/InstallationNotes)...这挂载的S3存储,这样它看起来就像一个本地磁盘。它需要花费更多的精力来设置,但是一旦磁盘被安装,您就不需要做任何特殊的事情来获取文件。
如果您使用的是CMS(允许使用Drupal作为一个例子),你可能有选择使用一个模块来处理你的水桶如http://drupal.org/project/storage_api
最后访问,您可以使用编程语言实现来处理所有的逻辑自己,因为PHP你可以用这个http://undesigned.org.za/2007/10/22/amazon-s3-php-class开始,看到这里http://undesigned.org.za/2007/10/22/amazon-s3-php-class/documentation
文档中的PHP IM的例子plementation:
<?php
// Simple PUT:
if (S3::putObject(S3::inputFile($file), $bucket, $uri, S3::ACL_PRIVATE)) {
echo "File uploaded.";
} else {
echo "Failed to upload file.";
}
?>
s3cmd的例子:这是被广泛使用,例如,它已经包含在AmazonLinux并能
s3cmd put my.file s3://bucket-url/my.file
另一种选择值得一提的是AWS CLI http://aws.amazon.com/cli/ 可以通过Python下载(它安装在许多系统上,包括linux和windows)。
http://docs.aws.amazon.com/cli/latest/reference/s3/index.html
可用的命令,CP LS MB MV RB RM同步网站
http://docs.aws.amazon.com/cli/latest/reference/s3api/index.html与S3
交互大ans的朋友..只是在寻找这个:) – 2015-06-23 06:12:05
安装为s3cmd包装:根据您的操作系统
yum install s3cmd
或
sudo apt-get install s3cmd
。然后用此复制数据:
s3cmd get s3://tecadmin/file.txt
也ls
可以列出文件。
更多detils看到this
采用最新的AWS CLI(http://aws.amazon.com/cli/),可以使用下面的命令从您的EC2实例,即使你的本地计算机中复制文件或S3存储。
aws s3 cp myfolder s3://mybucket/myfolder --recursive
然后你会得到这样的:
upload: myfolder/file1.txt to s3://mybucket/myfolder/file1.txt
upload: myfolder/subfolder/file1.txt to s3://mybucket/myfolder/subfolder/file1.txt
如果这是你的aws
CLI工具的第一次使用,那么你就需要运行:
aws configure
这将要求您输入您的访问密钥&秘密,并指定一个默认区域。
aws cli比s3cmd好多了。 – 2016-12-17 19:58:15
@ajtrichards有没有办法使用命令行参数提供访问密钥和秘密? – EmptyData 2017-06-21 16:36:08
@EmptyData您可以使用'--profile PROFILE_NAME'标志来指示要使用哪组证书?如果您已在您的命令行上设置多个AWS配置文件。 – ajtrichards 2017-06-21 18:28:28
所有将s3挂载为伪文件系统的尝试都是有问题的。它是一个对象存储,而不是块设备。 如果您必须安装它,因为您的遗留代码必须具有本地文件路径,请尝试欺骗。它比s3fs快50倍。 https://github.com/kahing/goofys
s3cmd在牙齿这些天有点长。 AWS cli目前是更好的选择。语法稍微不方便,但它是一个你需要保留的少一个工具。
如果你可以坚持http访问。从长远来看,它会让你的生活更轻松。
你有没有这个运气? – 2014-01-24 07:55:21