Azure 檔案儲存體 REST API

Azure 檔案儲存體 提供裝載的雲端檔案共用,您可以使用SMB和NFS等業界標準檔案系統通訊協定來存取 (掛接) 。 當您使用 SMB 或 NFS 在電腦上掛接檔案共用時,操作系統會重新導向本機檔案系統的 API 要求。 重新導向包含您使用 .NET System.IO 介面或 Python 開啟、讀取或寫入方法所做的本機 API 要求。 這表示這些應用程式的使用者不需要執行任何特殊動作,甚至知道其數據位於遠端檔案共用上,而不是本機記憶體。

Azure 檔案儲存體 也提供 REST API,這通常稱為 FileREST API。 若要使用 FileREST API,您可以針對 FileREST HTTPS 端點建立 HTTPS 要求。 您可以自行撰寫程式代碼來建立 HTTPS 要求,但我們提供使用 FileREST API 的 Azure SDK,以 C#、Java、Python、JavaScript 和 Go 等常用語言,透過 FileREST API 提供慣用語言包裝函式。

由於 FileREST API 專為 Azure 檔案儲存體 而設計,因此可讓您存取無法透過 SMB 或 NFS 存取之 Azure 檔案儲存體 功能。 它也可讓您比透過SMB或NFS更有效率地執行某些作業,例如複製。

HTTPS 的無狀態本質讓 FileREST API 適用於需要存取許多 Azure 檔案共用的雲端服務或應用程式。 例如,您可以將新增值的服務或應用程式附加至 Azure 檔案共用,以新增功能。 這些服務或應用程式可能包含防毒、備份、數據管理或復寫產品。 Azure 檔案同步 和 Azure 備份 是值得注意的 Microsoft 服務,其廣泛使用 FileREST API,在客戶擁有的 Azure 檔案共用之上新增價值。

如果您要建置加值服務或應用程式,請考慮使用 FileREST API,特別是當您將這些服務提供給客戶時。 如果您要建構企業營運應用程式,特別是使用者將針對掛接的 Azure 檔案共用使用的應用程式,您可以使用 SMB/NFS 或 FileREST。 不過,您可能會發現使用SMB或NFS提供更簡單的路徑,因為這些通訊協定可讓您使用原生檔案系統 API。

如果您有使用原生檔案系統 API 撰寫的現有應用程式,則不需要重寫它以利用 Azure 檔案儲存體。 Azure 檔案儲存體 的主要價值主張是透過使用SMB或NFS來公開原生文件系統 API。

若要深入瞭解 Azure 檔案儲存體,包括部署、網路和身分識別設定,請參閱:

控制平面

在 Azure 中,控制平面是透過 Azure Resource Manager 提供,其提供公開客戶將管理之 Azure 資源的常見方式。 最上層的管理單位是記憶體帳戶。 記憶體帳戶是 Azure 檔案儲存體 和其他記憶體服務中的追蹤資源,例如 Azure Blob 儲存體。

儲存器帳戶是由記憶體資源提供者所管理,其具有 命名空間 Microsoft.Storage。 記憶體資源提供者也會公開子資源或 Proxy 資源的管理,以便管理包含在記憶體帳戶中的記憶體服務。 針對 Azure 檔案儲存體,有兩個相關的 Proxy 資源:

  • 資源 FileService 。 它會提供套用至記憶體帳戶中所有檔案共用之 Azure 檔案儲存體 特定的設定。 資源 FileService 是記憶體帳戶的子系。 記憶體帳戶一律只有一個 FileService 資源: default

  • 資源 FileShare 。 它代表檔案共享或檔案共用的快照集。 資源 FileShare 是資源的子 FileService 系,可以包含無限數量的檔案共用。

FileService雖然資源可以包含無限數量的FileShare資源,但使用非常大量的資源並不是個不錯的主意,因為記憶體帳戶內的所有專案會共用已定義的 I/O、頻寬和其他限制集區。 如需詳細資訊,請參閱 Azure 檔案儲存體可擴縮性和效能目標

若要瞭解如何呼叫控制平面 API,請參閱:

FileServiceFileShare 對象的作業也可以透過數據平面完成。 這是預先 Azure 檔案儲存體 Azure Resource Manager 的成品。 雖然完全支持這些 API,但在大多數情況下,您應該使用記憶體資源提供者 API 來管理 Azure 檔案儲存體,原因如下:

  • 透過 Azure Resource Manager 公開的作業會使用 Microsoft Entra ID 進行驗證和授權,因此您可以使用角色型訪問控制 (RBAC) 來管理 Azure 檔案儲存體。 您可以授權您的應用程式或服務,以程式設計方式使用 Microsoft Entra 服務主體呼叫這些 API。

  • 您可以直接透過 REST API 或 SDK,以命令方式呼叫 Azure Resource Manager API。 或者,您可以宣告透過 Azure 範本部署哪些資源,以宣告宣告它們。 例如,對於需要重複建立 (的資源,在服務部署) 中,使用範本可以大幅簡化所需的工作。

  • 雖然我們建議使用記憶體資源提供者來管理記憶體資源,但使用 FileREST 數據平面管理 API 可讓您在需要高延展性的情況下獲得更佳的效能。 這類案例的範例是工作負載,該工作負載會在相同的記憶體帳戶內建立或修改數千個檔案共用。

    • Microsoft.Storage storageAccounts/fileServices/shares 會透過記憶體資源提供者觸發控制平面作業。
    • Microsoft.Storage storageAccounts/fileServices/fileshares 是數據平面作業。 設定 記憶體檔案數據 SMB 共用讀取器 等共用層級角色應該是數據平面作業,而且必須使用此資源。

資料平面

Azure 檔案儲存體 提供非結構化數據的階層式文件系統。 FileREST API 會在文件系統空間中建立兩個重要物件的模型:檔案和目錄。 若要瞭解如何呼叫 FileREST API,請參閱:

另請參閱