本文使用 Azure Blob 存储清单功能和 Azure Synapse 来计算每个容器 blob 的 Blob 计数和总大小。 优化每个容器的 Blob 使用率时,这些值非常有用。
先决条件
启用清单报表
此方法中的第一步是对存储帐户 启用库存报告 。 在启用库存报告后,您可能需要等待最多 24 小时才能生成第一个报告。
如果有要分析的清单报表,请通过为自己分配 存储 Blob 数据读取者 角色来授予对报表 CSV 文件所在的容器的读取访问权限。 请务必使用用于运行报表的帐户的电子邮件地址。 若要了解如何使用 Azure 基于角色的访问控制(Azure RBAC)向用户分配 Azure 角色,请按照 使用 Azure 门户分配 Azure 角色中提供的说明进行作。
注释
若要计算清单报表中的 Blob 大小,请确保在规则定义中包含 Content-Length 架构字段。
创建 Azure Synapse 工作区
接下来, 创建一个 Azure Synapse 工作区 ,用于执行 SQL 查询来报告清单结果。
创建 SQL 查询
创建 Azure Synapse 工作区后,请执行以下步骤。
选择左侧边缘的“ 开发 ”选项卡。
选择大加号(+)以添加项。
选择 SQL 脚本。
运行 SQL 查询
请按照以下步骤进行:
在 Azure Synapse 工作区中添加以下 SQL 查询, 以读取清单 CSV 文件。
bulk对于参数,请使用要分析的清单报表 CSV 文件的 URL。SELECT LEFT([Name], CHARINDEX('/', [Name]) - 1) AS Container, COUNT(*) As TotalBlobCount, SUM([Content-Length]) As TotalBlobSize FROM OPENROWSET( bulk '<URL to your inventory CSV file>', format='csv', parser_version='2.0', header_row=true ) AS Source GROUP BY LEFT([Name], CHARINDEX('/', [Name]) - 1)在右侧的属性窗格中命名 SQL 查询。
按 Ctrl+S 或选择“ 全部发布 ”按钮发布 SQL 查询。
选择“ 运行 ”按钮以执行 SQL 查询。 “ 结果 ”窗格中报告每个容器的 Blob 计数和总大小。