簡體   English   中英

如何將 S3 存儲桶掛載為本地文件系統?

[英]How to mount S3 bucket as local FileSystem?

我有一個 python 應用程序在 AWS 上的Jupiter-notebook上運行。 我將一個C-library加載到我的 python 代碼中,該代碼需要一個文件路徑。 我想從 S3 存儲桶訪問這個文件。

我嘗試使用 s3fs:

s3 = s3fs.S3FileSystem(anon=False)

使用s3.ls('..')列出我所有的存儲桶文件......到目前為止還可以。 但是,我正在使用的庫實際上應該在我無法訪問的地方使用 s3 變量。 我只能將路徑傳遞給 c 庫。

有沒有辦法以某種方式安裝 s3 存儲桶,我不必調用s3.open() ,並且可以調用open(/path/to/s3)在某個隱藏的地方真正安裝了 s3 存儲桶本地文件系統?

我認為它應該在不使用 s3 的情況下像這樣工作。 因為我無法更改我在內部使用的庫來使用 s3 變量...

with s3.open("path/to/s3/file",'w') as f:
      df.to_csv(f)

with open("path/to/s3/file",'w') as f:
      df.to_csv(f)

還是我做錯了?

Iam 使用的 c 庫在 python 中加載為 DLL,我稱之為 ZC1C425268E68384F14ZA7C179:

lib.OpenFile(path/to/s3/file)

我必須將s3的路徑傳遞到庫 OpenFile function 中。

如果您希望將 S3 存儲桶掛載為文件系統的一部分,請使用 s3fs-fuse

https://github.com/s3fs-fuse/s3fs-fuse

這將使它成為文件系統的一部分,並且常規文件系統功能將按您的預期工作。

如果您的目標是windows ,則可以使用rclonewinfsp將 S3 存儲桶掛載為本地文件系統

簡化的步驟是:
rclone config創建遠程
rclone mount remote:bucket *掛載

https://github.com/rclone/rclone
https://rclone.org/

https://github.com/billziss-gh/winfsp
http://www.secfs.net/winfsp/

可能與這個問題不完全相關,但我確信這將是許多來到這里的用戶。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM