2017-12-07 6 views
0

Azure blob 저장소의 모든 컨테이너 크기를 얻으려면 Python에서 block_blob_service 라이브러리를 사용하려고합니다. 다음은 작동하지만 시간이 오래 걸립니다 (50 TB BLOB의 경우 약 10 분).Python을 사용하여 Azure Blob 저장소에서 컨테이너 크기를 가져옵니다.

더 빠른 방법이 있습니까?

block_blob_service = BlockBlobService(account_name=azureAccount, account_key=azurekey) 
containers = block_blob_service.list_containers() 
for c in containers: 
     contName = c.name 
     generator = block_blob_service.list_blobs(contName) 
     contSize = 0 
     contNum = 0 
     for blob in generator: 
      contSize += blob.properties.content_length 
      contNum += 1 
     print(contName + " : " + str(contSize/1000000) + " MB" + " in " + str(contNum) + " blobs") 

답변

0

는 SDK 이외에, 당신은 PowerShell script을 사용할 수 있습니다 또는 CLI script 컨테이너의 크기를 얻을 수 있습니다.

또한 포털에서 컨테이너 크기를 직접 볼 수 있습니다.

enter image description here

나는 너무 오래 실행의 주요 문제는 저장 모양이 저장 모양의 용량에 비해 루프의 수를 증가하기에 너무 조각난 있다고 생각합니다.

따라서 응용 프로그램의 부담을 덜어주기 위해 계산을 Azure Function에 두는 것이 좋습니다.

희망이 있으면 도움이됩니다.

+0

감사합니다. 사용 해보겠습니다.하지만 내가 찾고있는 것은 계정의 모든 컨테이너 크기를 가져 오는 방법입니다 (예 : 너무 많은 저장 공간을 차지하는 컨테이너를 감지하는 방법). – teddiest

+0

@teddiest 확인. Azure Function은 컨테이너를 반복하고 XMB보다 큰 얼룩을 감지하는 완벽한 옵션이라고 생각합니다. –

+0

@teddiest 어떤 진행 상황이 있습니까? –

관련 문제