本文使用 Azure Blob 存储库存功能和 Azure Synapse 来计算每个容器的 blob 的 blob 计数和总大小。 在优化每个容器的 blob 使用时,这些值非常有用。
你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
使用 Azure 存储空间库存计算每个容器的 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 计数和总大小。