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、Java、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 文件共享
实现 SMB 访问的 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
FileService
还可以通过数据平面对 和
FileShare
对象执行操作。 这是一个Azure 文件存储早于 Azure 资源管理器 的项目。 尽管这些 API 完全受支持,但出于以下原因,应首选使用存储资源提供程序 API 来管理Azure 文件存储:
通过 Azure 资源管理器公开的操作使用 Azure Active Directory (Azure AD) 进行身份验证和授权,因此可以使用基于角色的访问控制 (RBAC) 来管理Azure 文件存储。 可以授权应用程序或服务使用 Azure AD 服务主体以编程方式调用这些 API。
可以通过 REST API 直接或通过 SDK 命令性地调用 Azure 资源管理器 API。 或者,可以通过声明需要通过 Azure 模板部署的资源,以声明方式调用它们。 例如,对于需要一起重复创建 (的资源,在服务部署) ,使用模板可以大大简化所需的工作。
尽管我们建议使用存储资源提供程序来管理存储资源,但在需要高规模的情况下,使用 FileREST 数据平面管理 API 可提供更好的性能。 这种情况的一个示例是工作负荷在同一存储帐户中创建或修改数千个文件共享。
Azure 文件存储为非结构化数据提供分层文件系统。 FileREST API 为文件系统空间中的两个重要对象建模:文件和目录。 若要了解如何调用 FileREST API,请参阅:
对Azure 文件存储 (的操作
首选控制平面 API)
对文件共享
的操作 (首选控制平面 API)
对目录的操作
对文件执行的操作
Azure 存储 REST API 参考
Azure 文件存储 不支持的功能
Azure 文件存储概念