Azure Storage 인벤토리를 사용하여 컨테이너당 Blob 수 및 총 크기 계산

이 문서에서는 Azure Blob Storage 인벤토리 기능과 Azure Synapse를 사용하여 컨테이너당 Blob의 수 및 총 크기를 계산합니다. 이 값은 컨테이너당 Blob 사용량을 최적화하는 경우에 유용합니다.

필수 조건

None

인벤토리 보고서 사용

이 메서드의 첫 번째 단계는 스토리지 계정에서 인벤토리 보고서를 사용하도록 설정하는 것입니다. 첫 번째 보고서를 생성하기 위해 인벤토리 보고서를 사용하도록 설정한 후 최대 24시간을 기다려야 할 수 있습니다.

분석할 인벤토리 보고서가 있는 경우 Storage Blob 데이터 읽기 권한자 역할을 자신에게 부여하여 보고서 CSV 파일이 있는 컨테이너에 대한 읽기 액세스 권한을 자기 자신에게 부여합니다. 보고서를 실행하는 데 사용하고 있는 계정의 메일 주소를 사용해야 합니다. Azure RBAC(Azure 역할 기반 액세스 제어)를 사용하여 사용자에게 Azure 역할을 할당하는 방법을 알아보려면 Azure Portal을 사용하여 Azure 역할 할당에 제공된 지침을 따르세요.

참고 항목

인벤토리 보고서에서 Blob 크기를 계산하려면 규칙 정의에 Content-Length 스키마 필드를 포함해야 합니다.

Azure Synapse 작업 영역 만들기

그런 다음, SQL 쿼리를 실행하여 인벤토리 결과를 보고할 Azure Synapse 작업 영역을 만듭니다.

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 수와 총 크기를 계산하기 위해 스크립트를 실행한 결과의 스크린샷.