Как смонтировать ведро S3 как локальную файловую систему?

У меня есть приложение Python, работающее на Jupiter-notebookна AWS. Я загрузил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)

Или я совершенно не так делаю?

Библиотека c, которую я использую, загружается как DLL в python, и я вызываю функцию:

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

Я должен пройти путь к s3 в библиотеку функцию OpenFile.

3 ответа

Решение

Если вы хотите смонтировать корзину S3 как часть файловой системы, используйте s3fs-fuse

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

Это сделает его частью файловой системы, и обычные функции файловой системы будут работать так, как вы ожидаете.

Если вы ориентируетесь на окна , можно использовать rclone вместе с winfsp для монтирования корзины 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/

Возможно, это не совсем актуально для этого вопроса, но я уверен, что он будет актуален для многих пользователей, приходящих сюда.

точку монтирования — файловый клиент для s3 для Linuxспустя годы aws представляет здесь

Другие вопросы по тегам