2012-07-21 3 views
0

모든 사용자의 데이터를 저장하는 데 사용할 버킷을 하나 생성했습니다. 디렉토리의 구조는 다음과 같습니다Google 클라우드 저장소 - 각 사용자의 디렉토리 크기 결정

-> BUCKET_NAME/USER_IDENTIFIER/CREATION_DATE/OBJET_ID

==>이 인 gsutil 또는 각 사용자의 전체 크기를 얻을 수있는 API를 통해 가능합니까? 사용자 X "가 USER_1"로 식별되는 경우 사람이 어떻게 구현하는 아이디어가있는 경우

예를 들어, 나는 좋은 것 BUCKET_NAME/USER_1

아래에있는 모든 개체의 크기를 좀하고 싶습니다? 표준 파일 이름을 사용하면 비교적 간단하지만 Google Cloud Storage로이를 구현할 수있는 쉬운 방법을 찾을 수 없습니다. 그에 대한 API 없다

Hugues

답변

0

당신은 지금의 기본 인 gsutil 명령을 사용할 수 있습니다

인 gsutil 뒤 -ch GS :

는 사람이 읽을 수있는 형태로, 양동이에 총 바이트 수를 인쇄하려면 : // bucketname

소스 : https://developers.google.com/storage/docs/gsutil/commands/du

"폴더"와 총 합계를 반환하므로 매우 편리합니다!

1

덕분에, 당신은 사용자별로 자기를 부기를 유지해야합니다.
특정 키 아래의 모든 파일을 요청하고 총 파일 크기를 합할 수 있지만이 프로세스는 매우 느립니다. 사용자 이름은 정기적으로이 같은 스크립트를 작성할 수 구성하는 경우

0

:

for user_id in {0..100}; do; 
    echo USER ${user_id}: $(gsutil ls -l gs://BUCKET_NAME/$user_id/**) 
done 

이 각 사용자 개체 및 전체 데이터 크기의 수를 인쇄합니다 (사용자 ID를 가정 간단한 숫자 값입니다).

각 사용자에 대해 많은 수의 개체가있는 경우 Shay는 이렇게 설명합니다.