回答
亞馬遜S3是一個對象存儲,而不是一個文件系統。它有一組特定的API用於上傳,列出,下載等,但它不像一般的文件系統。
有一些實用工具,可以安裝S3作爲一個文件系統(如Expandrive,Cloudberry Drive,s3fs),但會在後臺這些實用程序實際上是翻譯請求到API調用。這可能會導致一些問題 - 例如,您可以通過將一個文件寫入磁盤來修改本地磁盤上的100MB文件。如果你想修改S3上的一個字節,你必須再次上傳整個對象。這可能會導致計算機和S3之間的同步問題,因此建議不要在生產環境中使用這些方法。 (不過,他們上載的好方法/下載初始數據。)
良好的在兩者之間選擇是使用AWS Command-Line Interface (CLI),其中有這樣的命令如aws s3 cp
和aws s3 sync
,這是上傳/下載可靠的方法/與Amazon S3同步文件。
回答您的問題...
亞馬遜S3不支持 「軟連接」(符號鏈接)。 Amazon S3是一個對象存儲,而不是文件系統,因此它只包含對象。對象還可以具有經常用於緩存控制,重定向,分類等的元數據。
Amazon S3不支持目錄(排序)。 Amazon S3對象保存在存儲桶中,並且存儲桶是「扁平」的 - 它們不包含目錄/子文件夾。但是,它確實保持目錄的錯覺。例如,如果文件bar.jpg
存儲在foo
目錄中,則該對象的密鑰(文件名)爲foo/bar.jpg
。這使對象「出現」在foo
目錄中,但這不是它的存儲方式。 AWS管理控制檯通過允許用戶創建和打開文件夾來保持這種幻覺,但實際數據是「平坦」存儲的。
這導致了一些有趣的行爲:
- 你並不需要創建一個目錄來存儲對象在目錄中。 目錄不存在。只需保存一個名爲
images/cat.jpg
的文件和images
目錄神奇地出現(即使它不存在)。 - 您無法重命名對象。密鑰(文件名)是該對象的唯一標識符。要「重命名」某個對象,必須將其複製到新的密鑰並刪除原始對象。
- 您無法重命名目錄。他們不存在。相反,重命名目錄中的所有對象(這意味着您必須複製對象,然後刪除它們的舊版本)。
- 您可能會創建一個目錄但看不到它。 Amazon S3跟蹤
CommonPrefixes
以幫助按路徑列出對象,但它不創建傳統目錄。所以,如果你創建一個(僞裝)目錄然後沒有看到它,請不要擔心。只需使用全路徑名稱存儲您的對象,並且該目錄將「出現」。
當允許安裝Amazon S3存儲桶時,上述實用程序將所有這些考慮在內。他們將'普通'文件系統命令轉換爲Amazon S3 API調用,但是它們不能做所有事情(例如,他們可能會模擬重命名文件,但通常不會讓您重命名目錄)。
- 1. AWS Windows EC2從S3上傳
- 2. 在AWS EC2上安裝NPM
- 3. 如何訪問AWS EC2上安裝的nodejs應用程序
- 4. 用亞馬遜登錄並訪問aws資源,如S3,EC2等
- 5. 從java訪問s3 aws lambda
- 6. 在S3上拒絕AWS EC2 IAM角色訪問
- 7. AWS S3的靜態網站的子目錄,到現在從EC2
- 8. AWS IAM在EC2中的角色和從JupyterHub訪問S3
- 9. AWS S3 403次訪問從EC2實例拒絕
- 10. 在AWS EC2實例上安裝magento
- 11. 在AWS EC2 Windows實例上安裝JRE
- 12. 在AWS EC2上安裝Python和Jupyter
- 13. 如何在AWS EC2上安裝QUANDL?
- 14. 如何在AWS EC2上安裝LAMP
- 15. AWS CLI S3訪問
- 16. 訪問AWS S3與
- 17. aws EC2從Godaddy安裝SSL證書
- 18. Numpy安裝AWS EC2錯誤
- 19. 在AWS EC2中安裝SSL
- 20. 在AWS上安裝S3存儲桶ECS
- 21. 在AWS EC2上安裝xml2 R中的Ubuntu服務器,libcurl不是R功能
- 22. 使用JAVA AWS SDK安裝帶有EC2實例的S3桶
- 23. 無法訪問AWS EC2上的HTTPS
- 24. 在Hortonworks Hadoop(AWS EC2)上訪問WebHDFS
- 25. 如何訪問EC2上的AWS PHP SDK?
- 26. Postgres的軟件包安裝在AWS上的Linux EC2實例訪問Postgres的RDS
- 27. 從AWS Lambda JS SDK訪問EC2資源
- 28. AWS S3:訪問,同時上傳文件
- 29. 從VPC內的Lambda訪問AWS S3
- 30. AWS S3 - 從URL訪問私人文件