Microsoft AZ-204: Azure 存储与 Blob 存储 — 学习指南

属于 Microsoft Azure Developer Associate AZ-204 — 学习指南. 使用经过验证的答案练习: Microsoft 考试中心, 或参加限时模拟考试: ExamRoll.io.

概述

Azure Storage 为非结构化和结构化数据提供持久、可大规模扩展的云存储。对于应用程序开发,重点在于选择正确的存储帐户类型、配置冗余以满足 RTO/RPO 目标、选择合适的 blob 类型和访问层以优化成本/性能,以及使用 Azure AD 和 SAS 保护访问安全。使用生命周期策略来自动化跨层的数据移动,在适当的时候直接从 Blob 存储提供静态网站服务,并在需要文件语义或基于消息的解耦时应用 Azure Files 和 Queue Storage。

存储帐户类型和冗余基础

通用 v2 (GPv2) 是适用于大多数工作负载的标准帐户类型。它支持 blob、文件、队列和表、所有访问层、生命周期管理以及最新的功能。旧版的 BlobStorage 帐户仅提供 Blob 服务和分层功能,但缺乏 GPv2 所拥有的广泛功能和成本优化;新部署应首选 GPv2。FileStorage 帐户是专用于 Azure Files 的高级、基于 SSD 的帐户,可为企业文件工作负载(例如,配置文件共享、业务线应用)提供一致的低延迟 IOPS 和吞吐量。当您需要 SMB/NFS 共享的高级性能时,请选择 FileStorage;否则,默认选择 GPv2。

冗余选项决定了数据在不同故障域中的持久性和可用性:

当您同时需要区域故障保护和跨地域灾难恢复时,请考虑在解决方案级别将本地的 ZRS 与额外的异地复制帐户模式配对使用。规划帐户故障转移测试,了解 DNS 终结点切换,并验证应用程序重试策略,以处理异地事件期间的最终一致性和时钟偏差。

Blob 数据模型、分层和生命周期管理

Blob 有三种类型,具有不同的语义。块 blob 针对大型对象(如图像、视频和备份)的流式传输和随机读取进行了优化。上传内容被分块并提交,从而实现了并行上传和高效重试。追加 blob 针对仅追加的工作负载(如遥测和日志捕获)进行了优化;只允许追加操作,这简化了并发性。页 blob 提供 512 字节对齐的页面,用于随机读/写 I/O,并支持 Azure VM 磁盘使用的 Azure 虚拟硬盘 (VHD);它们是 IaaS 磁盘和大型随机 I/O 工作负载唯一支持的 blob 类型。

Blob 访问层控制成本和性能。热层针对频繁访问进行了优化,具有最低的读/写延迟和最高的存储成本。冷层针对至少保留 30 天的不频繁访问数据,存储成本较低,但事务/读取成本和最低保留费用较高。存档层是用于长期保留的成本最低的层;对象处于脱机状态,读取前必须重新解冻到热层或冷层。可以请求标准或高优先级解冻,以成本换取速度。您可以在帐户级别设置默认访问层(热层或冷层),并可按 blob 覆盖;存档层只能按 blob 设置。

生命周期管理策略可自动化数据移动和保留,以控制成本并满足治理要求。在帐户级别,定义规则以:

将生命周期规则与版本控制和软删除相结合,以防止意外删除,同时仍强制执行保留策略。请记住,存档层有最低保留期和提前删除费用;设计策略时应尽量减少不必要的解冻操作。

为了进行变更跟踪和下游处理,请启用存储帐户更改源,以使用一个有序、不可变的 blob 创建、更新、删除和复制操作日志。这支持合规性以及需要“恰好一次”或“至少一次”语义并带有检查点的异步处理器。

Blob 存储中的静态网站托管功能会公开一个特殊的 $web 容器,通过专用的 Web 终结点提供服务。配置索引和错误文档,并直接发布静态资产。静态网站终结点提供对网站内容的匿名读取访问,独立于 blob 的公共访问设置;通过 blob 终结点的访问可以保持禁用状态。对于自定义域和全局加速,请使用 Azure Front Door 或 Azure CDN 作为终结点的前端。静态网站终结点不支持专用终结点;在需要私有访问的情况下,请使用边缘服务来保护和加速交付。

安全性、身份和受控数据访问

Azure Storage 默认使用 Microsoft 托管的密钥,通过 256 位 AES 对静态数据进行加密。若要实现更严格的控制,可以启用存储在 Azure Key Vault 或 Managed HSM 中的客户管理的密钥 (CMK),以管理密钥轮换和职责分离;请授予存储帐户的托管身份包装/解包密钥的权限。对于受高度管制的工况,可以启用基础结构加密以应用第二个独立的加密层。如果需要端到端的加密控制,请将服务器端加密与客户端加密结合使用。

Azure AD 授权将数据平面与 Blob 和 Queue 服务以及 Files REST API 的 RBAC 集成在一起。向托管身份、用户或组授予最小权限角色,例如 Storage Blob Data Reader 或 Storage Blob Data Contributor。在代码中,使用 DefaultAzureCredential 获取 OAuth 2.0 令牌,避免嵌入密钥。对于 Azure Files 的 SMB 访问,请使用 Active Directory 启用基于身份的身份验证:将存储帐户加入本地 AD DS(对于混合身份,通过 Azure AD Kerberos)或 Azure AD DS,并使用 NTFS ACL 和 RBAC(例如 Storage File Data SMB Share Contributor)进行共享级别的授权。确保使用 SMB 3.x 并启用传输中加密,并考虑使用 Private Endpoints、VPN 或 ExpressRoute 来穿越阻止 445 端口的网络。

共享访问签名 (SAS) 可以在不暴露帐户密钥的情况下,委托有范围限制、有时间限制的访问。服务 SAS 授予对特定服务和资源(例如单个 blob 或容器)的访问权限,并具有精确的权限和开始/到期时间。帐户 SAS 在帐户级别运行,可跨越多个服务(blob、文件、队列、表)和服务 API(如列出或创建)。用户委托 SAS 特定于 Blob 存储,并使用通过 Azure AD 为具有相应 RBAC 的主体获取的用户委托密钥进行签名;它消除了对密钥的依赖,并将访问控制集中在 Azure AD 中。应用约束,包括 IP 范围、允许的协议(仅限 HTTPS)和较短的生命周期。存储访问策略可以集中管理 SAS 约束,并通过更新或删除策略来实现撤销;它们适用于服务 SAS 和帐户 SAS。用户委托 SAS 不使用存储访问策略;通过使用户委托密钥过期或删除 Azure AD 角色分配来撤销。始终优先选择 SAS 而不是帐户密钥,当您的应用程序可以获取 Azure AD 令牌时,优先选择用户委托 SAS。

Azure Files 和 Queue Storage 精要

Azure Files 提供完全托管的 SMB 共享以及适用于 POSIX 场景的 NFS 选项。使用 SMB 共享进行直接迁移(lift-and-shift)和实现应用兼容性。Premium FileStorage 帐户可提供可预测的低延迟性能,而标准共享对于通用文件数据而言经济实惠。通过 SMB 客户端或 REST API/SDK 管理共享和文件。Azure File Sync 通过在 Windows Server 上缓存云共享来启用混合文件服务,从而提供本地性能、将冷数据分层到云、实现多站点同步以及备份/异地灾难恢复,且无需传统的 NAS 更新周期。将基于 Azure AD 的身份与 NTFS ACL 相结合以强制执行最低权限,并使用 Private Endpoints 来控制数据泄露风险。

Azure Queue Storage 可实现解耦、有弹性的应用程序工作流。每条消息最大可达 64 KB(更大的负载应引用 Blob URI)。消息的生存时间 (TTL) 决定了其自动过期时间;可以指定一个从几秒到七天不等的正值,或使用 -1 表示永不过期。当工作进程检索一条消息时,该消息在其可见性超时期间会变为不可见。如果处理失败且消息在超时前未被删除,它将重新出现以供另一个使用者处理。调整可见性超时以使其超过最坏情况下的处理时间,并使用幂等处理程序和指数退避来减少争用。跟踪 dequeue count 以检测毒信;当它超过阈值时,将消息移动到专用的毒信队列进行隔离和分析。Azure Functions 队列触发器使用 -poison queue 自动实现此模式。对于需要更高吞吐量或有排序保证的 FIFO 需求,请考虑使用 Service Bus 队列;否则,Azure Queue Storage 是一个轻量级且经济高效的选择。

实际问题场景

国家地理(National Geographic)必须发布一个高流量的摄影微型网站,该网站具有无服务器图像处理、成本优化的存储以及为本地编辑工具提供混合访问的功能。他们还需要为合作伙伴机构提供安全的、有时间限制的共享链接,并为后台处理提供强大的消息处理能力。

  1. 创建具有 RA-GRS 的 GPv2 存储帐户
  1. 启用静态网站托管并将站点资产部署到 $web 容器
  1. 将原始 RAW 图像存储为块 Blob;将一次写入的遥测数据存储为追加 Blob
  1. 定义生命周期策略,在 30 天后将原始文件移至冷层(Cool),180 天后移至存档层(Archive);删除超过一年的版本
  1. 使用 Azure AD 和用户委托 SAS 保护合作伙伴的数据访问
  1. 通过 Key Vault 和基础结构加密启用客户管理的密钥
  1. 集成 Azure Queue Storage 以通过 Azure Functions 队列触发器进行后台图像处理;设置可见性超时以超过最大处理时间,并配置毒信处理
  1. 通过 Azure Files 发布编辑工具,使用 premium FileStorage 帐户和 Azure File Sync 同步到本地 Windows Server
  1. 使用 Azure Front Door 作为静态网站的前端,并启用缓存和自定义 HTTPS
  1. 启用存储帐户更改源并将其存档到合规性存储中

Azure Functions 与无服务器计算 · 所有领域 · Azure Cosmos DB

练习这些题目 → · 在 ExamRoll.io 上限时练习 →

Pass the whole exam — not just this question

You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.

通过考试 →

浏览 Microsoft →

Related guides

一体化访问

一次订阅。所有考试。

所有计划均可无限制搜索答案、进行模拟测试、获取AI解释以及访问完整的资源库 — 支持20多种语言。

每月
24.87
Just €0.83/day
包含所有内容:
  • 无限答案搜索
  • 无限模拟测试
  • AI驱动的解释
  • 完整资源库
  • 20多种语言
  • 每周内容更新
  • 奖励与推荐
  • 优先支持
开始免费试用

无需信用卡*

最具价值
12个月
179.87
Just €0.49/daySave 40%
包含所有内容:
  • 无限答案搜索
  • 无限模拟测试
  • AI驱动的解释
  • 完整资源库
  • 20多种语言
  • 每周内容更新
  • 奖励与推荐
  • 优先支持
开始免费试用

无需信用卡*

✓ 包含免费计划 · ✓ 随时取消 · ✓ 所有计划均解锁完整产品