編輯

共用方式為


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

本文使用 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 工作區之後,請執行下列步驟。

  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 計數和總大小的輸出螢幕快照。