你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
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 资源管理器提供,它提供了一种公开客户将管理的 Azure 资源的常用方法。 顶级管理单元是存储帐户。 存储帐户是Azure 文件存储和其他存储服务(如Azure Blob 存储)中的跟踪资源。
存储帐户由具有命名空间 Microsoft.Storage
的存储资源提供程序管理。 存储资源提供程序还公开子资源(或 代理资源)的管理,以便管理存储帐户中捆绑的存储服务。 对于Azure 文件存储,有两个相关的代理资源:
FileService
资源。 它提供特定于Azure 文件存储的设置,这些设置适用于存储帐户中的所有文件共享。 资源FileService
是存储帐户的子级。 存储帐户始终只有一个FileService
资源:default
。FileShare
资源。 它表示文件共享或文件共享的快照。 资源FileShare
是资源的子级FileService
,可以包含无限数量的文件共享。
FileService
尽管资源可以包含无限数量的FileShare
资源,但使用大量资源并不是一个好主意,因为存储帐户中的所有内容共享定义的 I/O、带宽和其他限制池。 有关详细信息,请参阅 Azure 文件存储可伸缩性和性能目标。
若要了解如何调用控制平面 API,请参阅:
还可以 FileService
通过数据平面对 和 FileShare
对象执行操作。 这是Azure 文件存储早于 Azure 资源管理器 的项目。 尽管完全支持这些 API,但在大多数情况下,出于以下原因,应使用存储资源提供程序 API 来管理Azure 文件存储:
通过 Azure 资源管理器公开的操作使用Microsoft Entra ID进行身份验证和授权,因此可以使用基于角色的访问控制 (RBAC) 来管理Azure 文件存储。 可以授权应用程序或服务使用Microsoft Entra服务主体以编程方式调用这些 API。
可以直接通过 REST API 或通过 SDK 命令性地调用 Azure 资源管理器 API。 或者,可以通过声明需要通过 Azure 模板部署的资源,以声明方式调用它们。 对于需要一起重复创建的资源 (例如,在服务部署) 中,使用模板可以大大简化所需的工作。
尽管我们建议使用存储资源提供程序来管理存储资源,但在需要高规模的情况下,使用 FileREST 数据平面管理 API 可以提供更好的性能。 这种情况的一个示例是在同一存储帐户中创建或修改数千个文件共享的工作负荷。
-
Microsoft.Storage storageAccounts/fileServices/shares
通过存储资源提供程序触发控制平面操作。 -
Microsoft.Storage storageAccounts/fileServices/fileshares
是数据平面操作。 设置共享级别角色(如 存储文件数据 SMB 共享读取者 )应是数据平面操作,并且必须使用此资源。
-
数据平面
Azure 文件存储为非结构化数据提供分层文件系统。 FileREST API 为文件系统空间中的两个重要对象建模:文件和目录。 若要了解如何调用 FileREST API,请参阅:
- Azure 文件存储上的操作 (首选控制平面 API)
- 对文件共享 的操作 (首选控制平面 API)
- 对目录的操作
- 对文件执行的操作