我使用AWS EC2实例。 在这种情况下,我得到的一些文件。 这些操作是由用户的数据来完成。
现在我想通过在用户数据本身编写代码来对S3的文件存储。
- 所以,我怎么可以存储在S3上这些文件?
- 有任何教程?
我使用AWS EC2实例。 在这种情况下,我得到的一些文件。 这些操作是由用户的数据来完成。
现在我想通过在用户数据本身编写代码来对S3的文件存储。
采用最新的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
这将让你与指定默认的区域沿输入您的访问密钥的秘密。
有许多方法将文件发送到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实现的例子:
<?php
// Simple PUT:
if (S3::putObject(S3::inputFile($file), $bucket, $uri, S3::ACL_PRIVATE)) {
echo "File uploaded.";
} else {
echo "Failed to upload file.";
}
?>
s3cmd的示例:
s3cmd put my.file s3://bucket-url/my.file
另一种选择值得一提的是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同步网站
http://docs.aws.amazon.com/cli/latest/reference/s3api/index.html用于与S3交互
安装s3cmd套餐为:
yum install s3cmd
要么
sudo apt-get install s3cmd
根据您的操作系统。 然后用这个复制的数据:
s3cmd get s3://tecadmin/file.txt
还ls
可以列出文件。
欲了解更多detils看到这
我使用s3cmd到夜间导出的数据库备份文件从我的EC2实例存储。 s3cmd,你可以在他们的网站上读到的配置之后,你就可以运行如下命令:
s3cmd put ./myfile s3://mybucket
使用s3cmd
为:
s3cmd get s3://AWS_S3_Bucket/dir/file
了解如何安装s3cmd 这里 :
这对我的作品...
所有试图安装S3作为一个虚拟的文件系统是有问题的。 这是一个对象存储,而不是块设备。 如果因为你必须具有本地文件路径的遗留代码,您必须安装它,尝试goofys。 这是关于比50倍快s3fs。 https://github.com/kahing/goofys
s3cmd是位在牙齿这些天之久。 在AWS CLI是一个更好的选择,这些天。 语法是有点不太方便,但少了一个工具,你需要保持周围。
如果你能坚持到HTTP访问。 这会让你的生活,从长远来看更容易。
我想一般的最佳答案其实上面,使用aws
的命令,但对于那些你不想打扰安装任何东西的情况下,它也值得一提的是,你可以下载的文件通过HTTPS,如开放浏览器并定位到:
https://s3.amazonaws.com/
(bucketName) /
(relativePath) /
(文件名)
这也意味着你可以只使用wget
或curl
做从外壳提示转移。
在AWS CLI我用下面的命令从EC2实例复制zip文件到S3
aws s3 cp file-name.zip s3://bucket-name/