我正在使用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