Azure 文件和队列存储
使用 Azure 文件通过 SMB 或 NFS 协议挂载基于云的文件共享,并使用队列存储通过持久消息队列解耦应用程序组件。
Azure 文件和队列存储 是 CoddyKit 上的免费 Cloud & IT Cert Prep 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Cloud & IT Cert Prep 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Cloud & IT Cert Prep 课程共包含 4 节课。
Azure Files:云文件共享
Azure Files 提供完全托管的云文件共享,可通过业界标准的 SMB (Server Message Block) 和 NFS (Network File System) 协议访问。这意味着您可以使用与本地企业网络中文件共享相同的机制,将 Azure 文件共享装载到 Windows、Linux 或 macOS 计算机上。与需要使用特定 API 或 SDK 访问的 Blob Storage 不同,Azure Files 可以与任何能够从映射驱动器或 UNC 路径读取数据的应用程序无缝协作。
# Mount an Azure file share on Linux using SMB
sudo mount -t cifs \
//mystorageacct.file.core.windows.net/myshare \
/mnt/myshare \
-o username=mystorageacct,password=<KEY>,dir_mode=0755Azure Files 使用场景
Azure Files 适用于多种常见的企业场景:直接迁移共享存储——将依赖本地文件服务器的应用程序迁移到 Azure Files,无需更改应用程序代码。混合访问——本地服务器和 Azure VM 可以使用 Azure File Sync 同时装载同一个共享。配置和设置共享——将配置文件存储在共享中,并从多个 App Service 实例或容器装载这些文件。开发人员工具共享——在开发团队中共享 IDE 插件、构建工具和脚本。
Azure File Sync
Azure File Sync 通过将 Azure 文件共享与 Windows Server 文件服务器同步,把 Azure Files 扩展到本地环境。Windows Server 充当常用文件的本地缓存;最近未访问的文件会被云分层占位文件替代。这些占位文件会显示在目录中,但不会占用本地磁盘空间。当用户打开占位文件时,Azure File Sync 会在后台透明地从 Azure 下载实际文件。这样既能为用户提供快速的本地访问,又能减少本地环境的存储占用。
Azure Files 层级
Azure Files 提供两个性能层级:Standard(基于 HDD)——适用于常规文件共享、批处理工作负载和主目录,按每月存储的 GB 计费。Premium(基于 SSD)——适用于数据库、企业应用程序和金融服务系统等高 IOPS 场景,按预配的 GB 计费(您需要预先分配容量),而不是按实际使用的 GB 计费。当工作负载需要稳定且低延迟的文件 I/O 时,应选择 Premium。对于大多数办公文件共享场景,Standard 已经足够。
Queue Storage 简介
Azure Queue Storage 是一项用于存储大量消息的服务,可通过经过身份验证的 HTTP/HTTPS 调用从任何位置访问。队列支持应用程序组件之间的异步、解耦通信:一个组件(生产者)将消息添加到队列,另一个组件(消费者)则按照自己的速度检索并处理消息。这种解耦使生产者和消费者能够独立扩展,并且即使消费者处理缓慢或暂时不可用,也不会阻塞生产者。
队列的工作方式
Azure Queue Storage 中的消息大小最多为 64 KB,最长可保留 7 天。消费者检索消息后,该消息会在一段可配置的时间内变为不可见(可见性超时默认为 30 秒)。如果消费者在超时前处理并删除消息,该消息就会被永久移除。如果消费者在删除消息前发生故障,消息会再次变为可见,以便其他消费者获取,从而提供至少一次传递语义,实现容错。
# Send a message to a queue
az storage message put \
--account-name mystorageacct \
--queue-name order-queue \
--content 'Process order 12345'
# Get the next message from the queue
az storage message get \
--account-name mystorageacct \
--queue-name order-queueQueue Storage 与 Service Bus
Azure 提供两种队列服务,了解何时使用哪一种非常重要:Queue Storage——简单且容量极大的队列(最多 500 TB),基于 HTTP 的轮询,适合包含数百万条消息的基本生产者-消费者解耦场景。Azure Service Bus——提供高级功能的企业消息传递服务,包括消息排序(FIFO)、死信队列、会话、重复消息检测、包含多个订阅者的主题以及事务。当您需要以极大规模实现简单解耦时,请使用 Queue Storage;当您需要企业级消息传递保证,或需要将发布-订阅消息分发给多个消费者时,请使用 Service Bus。
Queue Storage 与 Azure Functions
一种非常常见的模式是将 Queue Storage 与 Azure Functions 配合使用:Web 应用程序将订单消息添加到队列中(生产者),而带有 Queue 触发器的 Azure Function(消费者)则处理每个订单。Function 会根据队列中等待处理的消息数量自动扩展,消息越多,Function 实例就越多。这种模式将 Web 前端与订单处理逻辑解耦,即使处理服务暂时关闭,也能确保订单不会丢失,同时还可以让系统平稳地应对流量突发。
Table Storage:NoSQL 键值存储
Azure Table Storage 是一种 NoSQL 键值存储,用于以极大的规模和较低的成本存储结构化、非关系型数据。数据按表组织(但不是关系表,可以将其理解为集合),每一行都是一个实体,包含分区键、行键以及最多 252 个类型可以不同的附加属性。Table Storage 无架构限制,同一表中的不同行可以包含不同的属性。它适用于需要通过键快速查找的场景(例如设备遥测数据或用户偏好设置),但不支持 JOIN 或复杂查询。
Azure Files 安全性
Azure Files 支持两种身份验证方法:存储帐户密钥——使用帐户主密钥授予完整访问权限,简单但粒度较粗;基于身份的身份验证——使用 Microsoft Entra ID(适用于仅使用云的 VM)或 Active Directory Domain Services(适用于混合环境以及已加入本地域的计算机)进行身份验证。基于身份的身份验证支持在共享中的文件夹和文件上配置按用户和按组设置的访问控制列表 (ACL),就像本地 Windows 文件服务器一样。这是多用户企业文件共享的推荐方法。
选择合适的存储服务
总结存储服务的选择:Blob Storage——用于非结构化对象(图像、视频、备份和任意文件),通过 API 或 URL 访问。Azure Files——用于需要通过 SMB/NFS 使用 OS 装载驱动器的结构化文件系统,并由多个服务器或用户共享。Queue Storage——用于应用程序组件之间持久可靠的异步消息传递。Table Storage——用于以较低成本存储需要通过键快速查找的结构化 NoSQL 键值数据。对于复杂的 NoSQL 需求,Cosmos DB 是功能更强、可扩展性更高的 Table Storage 后继服务。
快速检查
测试您对本课 Microsoft Azure Fundamentals (AZ-900) 概念的理解。
课程回顾
本课中,您学到了:Azure Files 提供 SMB/NFS 云文件共享,可与现有应用程序集成,并可通过 Azure File Sync 与本地服务器同步;Queue Storage 支持应用程序组件之间可靠的异步解耦,并提供至少一次消息传递;以及Table Storage 提供经济高效、无架构限制的 NoSQL 键值存储,用于存储结构化数据。接下来,我们将介绍磁盘存储类型,以及使用 SAS 令牌和专用终结点实现的存储安全性。
常见问题解答
「Azure 文件和队列存储」课时是免费的吗?
是的 — 「Azure 文件和队列存储」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Cloud & IT Cert Prep 课程的其余内容,请升级到 CoddyKit PRO。 Cloud & IT Cert Prep 课程共包含 4 节课。
「Azure 文件和队列存储」这节课中我会学到什么?
使用 Azure 文件通过 SMB 或 NFS 协议挂载基于云的文件共享,并使用队列存储通过持久消息队列解耦应用程序组件。 你通过在浏览器中直接运行的动手代码来练习 Cloud & IT Cert Prep,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Cloud & IT Cert Prep 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Cloud & IT Cert Prep 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。
「Azure 文件和队列存储」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Cloud & IT Cert Prep 课中编写并运行代码吗?
能。每节 Cloud & IT Cert Prep 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- Azure 存储帐户
- Blob 存储:云对象存储
- Azure 文件和队列存储
- 磁盘存储和存储安全