共用方式為


使用 Azure 儲存體清查計算每個容器的 Blob 計數和總大小

本文會使用 Azure Blob 儲存體清查功能和 Azure Synapse 來計算每個容器的 Blob 計數和 Blob 大小總計。 這些值在優化每個容器的 Blob 使用量時很有用。

必要條件

啟用庫存報告

此方法的第一個步驟是在儲存體帳戶上 啟用清查報告 。 啟用庫存報告後,您可能需要等待最多 24 小時才能產生第一份報告。

當您需要分析庫存報告時,請將自己指派為儲存 Blob 資料讀取者角色,以提供自己報告 CSV 檔案所在容器的讀取權限。 請務必使用您用來執行報表的帳戶電子郵件地址。 若要瞭解如何使用 Azure 角色型存取控制 (Azure RBAC) 將 Azure 角色指派給使用者,請遵循 使用 Azure 入口網站指派 Azure 角色中提供的指示。

備註

若要從清查報告計算 Blob 大小,請務必在規則定義中包含 [內容長度 結構描述] 欄位。

建立 Azure Synapse 工作區

接下來, 建立 Azure Synapse 工作區 ,您可以在其中執行 SQL 查詢來報告清查結果。

建立 SQL 查詢

建立 Azure Synapse 工作區之後,請執行下列步驟。

  1. 導航至 https://web.azuresynapse.net

  2. 選取左邊緣的 [開發] 索引標籤。

  3. 選取大的加號 (+) 以新增項目。

  4. 選取 [SQL 指令碼]。

    選取 SQL 腳本以建立新查詢的螢幕擷取畫面。

執行 SQL 查詢

請遵循下列步驟:

  1. 在 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)
    
  2. 在右側的屬性窗格中為您的 SQL 查詢命名。

  3. 按 CTRL+S 或選取 [全部發佈] 按鈕來發佈 SQL 查詢。

  4. 選取 [執行] 按鈕以執行 SQL 查詢。 每個容器的 Blob 計數和總大小會在 [結果] 窗格中報告。

    執行指令碼以計算 Blob 計數和總大小的輸出螢幕擷取畫面。