簡體   English   中英

如何使用 java 文件編寫器將內容存儲到 azure 文件系統

[英]How to store content to azure file system using java file writer

目前,我有使用 java 中的文件輸入流和輸出流從本地文件系統存儲和檢索數據的代碼。 我已經在屬性文件中配置了路徑。 現在我想使用 azure 文件系統實現相同的目標。 我怎樣才能做到這一點? 我看到了一些為此使用 Azure SDK 的方法,但我想知道是否有任何替代方法可以在不更改現有代碼的情況下將內容存儲到 Azure 文件系統中的文件中,這意味着僅更改屬性文件。

根據我的理解,我認為您希望在不使用 Azure Storage SDK 和更改代碼的情況下,像使用本地文件系統一樣使用 Azure 存儲,只需使用 Java 中的 POSIX 文件系統 API。

據我所知,根據我的經驗,有兩種方法可以滿足您的需求。

  1. 將 Azure 文件共享創建為 NFS 並將其安裝在WindowsLinuxMacOS 上
  2. 如果適用於 Linux,還可以使用 Azure Blob 存儲將容器作為目錄裝載到文件系統。 Github上有一個Azure官方項目azure-storage-fuse ,它通過Linux FUSE內核模塊為Azure Blob存儲實現了一個虛擬文件系統適配器,如下介紹。 它與 POSIX 並不完全兼容,但對於大多數場景來說已經足夠了。

熔斷器

關於

blobfuse 是一個開源項目,旨在提供由 Azure Blob 存儲支持的虛擬文件系統。 它使用 libfuse 開源庫與 Linux FUSE 內核模塊進行通信,並使用 Azure Storage Blob REST API 實現文件系統操作。

Blobfuse 是穩定的,並且受 Azure 存儲支持,因為它是在此處記錄的限制范圍內使用的。 對於任何問題/請求/問題,請在此處提交問題。

特征

  • 在 Linux 上掛載 Blob 存儲容器
  • 基本的文件系統操作,如 mkdir、opendir、readdir、rmdir、open、read、create、write、close、unlink、truncate、stat、rename
  • 本地緩存以改善后續訪問時間
  • 並行下載和上傳功能,可快速訪問大型 Blob
  • 允許多個節點為只讀場景掛載同一個容器。

以上兩種方式都會在本地文件系統中創建一個掛載點來做基本的文件操作,就像在本地目錄中一樣。

暫無
暫無

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

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