S3 버킷에있는 객체는 어떻게 알 수 있습니까?
내가 빠진 것이 아닌 한, 내가 API 중 어느 것도 S3 버킷 / 폴더 (접두사)에 얼마나 많은 본이 있는지 알려주지. 수를 얻는 방법이 있습니까?
당신이 아니면 방법은 없습니다
1000 배치로 모두 준비하십시오 (이는 느리고 즉 빠를 수있는 XML 응답을 압축하지 않습니다).
S3에서 계정에 로그인하고 계정-사용으로 이동하십시오. 청구 부서가 얼마나 많은 객체를 저장했는지!
모든 개체 목록을 다운로드하기 만하면 5 개의 천만 개의 개체가 저장되어있는 경우 실제로 시간과 비용이 소요됩니다.
자료에있는 StorageObjectCount에 대한이 프로그램 참조하십시오 .
몇 시간이 지난 경우에도 최소한 기본 사항을 얻는 것이 S3 API가 좋습니다.
AWS CLI 사용
aws s3 ls s3://mybucket/ --recursive | wc -l
또는
aws cloudwatch get-metric-statistics \
--namespace AWS/S3 --metric-name NumberOfObjects \
--dimensions Name=BucketName,Value=BUCKETNAME \
Name=StorageType,Value=AllStorageTypes \
--start-time 2016-11-05T00:00 --end-time 2016-11-05T00:10 \
--period 60 --statistic Average
참고 : 위의 cloudwatch 명령은 작동하지만 작동하지 않는 것입니다. 여기에서 논의하십시오 : https://forums.aws.amazon.com/thread.jspa?threadID=217050
AWS 웹 콘솔 사용
의 측정 클라우드 워치 항목 섹션 을 보면 대략 수의 객체 -가 저장됩니다.
약 5 천만 개의 제품이 사용하는 데 1 시간 이상 걸렸습니다. aws s3 ls
버킷 요약 정보 (예 : 수업 수, 총 크기) 를 포함 하는 스위치가 있습니다 .--summarize
다음은 AWS cli를 다루는 정답입니다.
aws s3 ls s3://bucketName/path/ --recursive --summarize | grep "Total Objects:"
Total Objects: 194273
설명서를 참조하십시오
이 오래된 질문 S3 웹 콘솔이 "크기 가져 오기 오기 오기"옵션을 간편하고 간편합니다.
다음을 제공합니다.
s3cmd 명령 줄 도구 를 사용하는 경우 특정 버킷의 재귀 목록을 가져 오기 텍스트 파일로 출력 할 수 있습니다.
s3cmd ls -r s3://logs.mybucket/subfolder/ > listing.txt
그런 다음 Linux에서는 파일에서 wc -l을 실행하여 행을 계산할 수 있습니다 (객체 당 한 행).
wc -l listing.txt
이제 S3 API에 대한 간편한 솔루션이 있습니다. (AWS CLI에서 사용 가능).
aws s3api list-objects --bucket BUCKETNAME --output json --query "[length(Contents[])]"
또는 특정 폴더의 경우 :
aws s3api list-objects --bucket BUCKETNAME --prefix "folder/subfolder/" --output json --query "[length(Contents[])]"
s3에 대한 AWS cloudwatch 지표를 사용하여 각 버킷의 정확한 수를 확인할 수 있습니다.
AWS 결제, 보고서, AWS 사용 보고서로 이동합니다. Amazon Simple Storage Service를 선택한 다음 Operation StandardStorage를 선택합니다. 그런 다음 각 버킷의 항목 수를 사용할 수있는 StorageObjectCount의 UsageType을 포함하는 CSV 파일을 다운로드 할 수 있습니다.
s3cmd에서 다음 명령을 실행하기 만하면 (Ubuntu 시스템에서).
s3cmd ls -r s3://mybucket | wc -l
api는 1000 단위로 목록을 반환합니다. IsTruncated 속성을 확인하여 더 많은 항목이 있는지 확인합니다. 있는 경우 다른 호출을 수행하고 다음 호출에서 Marker 속성으로받은 마지막 키를 전달해야합니다. 그런 다음 IsTruncated가 거짓이 될 때까지 이와 같이 계속 반복합니다.
자세한 내용은이 Amazon 문서를 참조하십시오. 다중 페이지 결과 반복
하지만 여전히 관련이 있습니다. GUI 기반 도구 (즉, 코드 없음)를 사용하여 파일 수를 원했습니다. S3와의 드래그 앤 드롭 전송을 위해 이미 3Hub라는 도구를 사용하고 있습니다. 특정 버킷에 얼마나 많은 파일이 있는지 알고 싶었습니다 (청구로 인해 버킷별로 분류되지 않습니다).
So, using 3Hub,
- list the contents of the bucket (looks basically like a finder or explorer window)
- go to the bottom of the list, click 'show all'
- select all (ctrl+a)
- choose copy URLs from right-click menu
- paste the list into a text file (I use TextWrangler for Mac)
- look at the line count
버킷에 20521 개의 파일이 있고 1 분 내 파일 수를 계산했습니다.
실제로 Amazon 특정 API가 없기 때문에 API는 계산을 제공하지 않습니다. 목록 내용을 실행하고 반환 된 결과 수를 계산하기 만하면됩니다.
Scalablelogic.com 의 python 펼쳐보기를 사용했습니다 (카운트 로깅에 추가). 훌륭하게 일했습니다.
#!/usr/local/bin/python
import sys
from boto.s3.connection import S3Connection
s3bucket = S3Connection().get_bucket(sys.argv[1])
size = 0
totalCount = 0
for key in s3bucket.list():
totalCount += 1
size += key.size
print 'total size:'
print "%.3f GB" % (size*1.0/1024/1024/1024)
print 'total count:'
print totalCount
Windows에서 AWS CLI를 사용하는 경우 * nix Measure-Object
와 PowerShell에서 사용 하여 총 파일 수를 수 있습니다 wc -l
.
PS C:\> aws s3 ls s3://mybucket/ --recursive | Measure-Object
Count : 25
Average :
Sum :
Maximum :
Minimum :
Property :
도움이 되셨기를 바랍니다.
s3 콘솔의 "관리"탭으로 이동 한 다음 "메트릭"을 클릭하면 총 개수와 내역을 쉽게 얻을 수 있습니다. 탭의 스크린 샷
3Hub 가 중단되었습니다. 더 나은 솔루션이 있습니다. 전송 (Mac 전용)을 다음 버킷에 연결 Show Item Count
하고 View
메뉴 에서 선택하기 만하면 .
http://s3browser.com/ 에서 s3 브라우저를 다운로드하여 수 있습니다 . 중앙 오른쪽 모서리에서 버킷을 선택하면 버킷의 파일 수를 볼 수 있습니다. 그러나 현재 버전에서는 표시되는 것이 표시됩니다.
Gubs
가장 쉬운 방법은 개발자 콘솔을 사용하는 것입니다. 예를 들어 Chrome을 사용하는 경우 개발자 도구를 선택하면 다음을 볼 수 있습니다. 280-279 + 1 = 2와 같은 일치 항목을 찾아 계산하거나 수행 할 수 있습니다.
...
AWS CLI의 명령 줄에서 ls plus --summarize
. 모든 항목의 목록과 특정 버킷의 총 문서 수를 제공합니다. 하위 버킷을 포함하는 버킷으로 시도하지 않습니다.
aws s3 ls "s3://MyBucket" --summarize
시간이 조금 걸리지 만 (16 + K 문서를 사용하는 데 약 4 분 걸림) 한 번에 1K를 세는 것보다 빠 사용합니다.
S3 클래스 스토리지 분석은 어떻습니까 -API는 물론 콘솔에서 얻을 수 있습니다 -https : //docs.aws.amazon.com/AmazonS3/latest/dev/analytics-storage-class.html
나는 S3 브라우저 도구가 매우 사용자임을 발견 한 파일과 폴더 및 총 개수와 모든 폴더의 크기를 재귀 적으로 제공합니다.
다운로드 링크 : https://s3browser.com/download.aspx
gsutil du
(예, Google Cloud 도구) 로도 수행 할 수 있습니다.
gsutil du s3://mybucket/ | wc -l
이 cli 명령을 실행하여 버킷 또는 특정 폴더의 총 파일 수를 얻을 수 있습니다.
전체 버킷 스캔
aws s3api list-objects-v2 --bucket testbucket | grep "Key" | wc -l
aws s3api list-objects-v2 --bucket BUCKET_NAME | grep "Key" | wc -l
이 명령을 사용하여 세부 정보를 얻을 수 있습니다.
aws s3api list-objects-v2 --bucket BUCKET_NAME
특정 폴더 스캔
aws s3api list-objects-v2 --bucket testbucket --prefix testfolder --start-after testfolder/ | grep "Key" | wc -l
aws s3api list-objects-v2 --bucket BUCKET_NAME --prefix FOLDER_NAME --start-after FOLDER_NAME/ | grep "Key" | wc -l
파일을 특정 난 웬지- .jpg
이미지를 말하면 다음을 수행 할 수 있습니다.
aws s3 ls s3://your_bucket | grep jpg | wc -l
csv 파일의 객체 목록을 제공하는 Amazon S3 인벤토리를 사용할 수 있습니다.
'IT' 카테고리의 다른 글
숫자가 회문인지 어떻게 확인합니까? (0) | 2020.07.12 |
---|---|
IISExpress를 사용하여 SSL 연결 / 연결되어 (0) | 2020.07.12 |
VB.NET의 숨겨진 기능? (0) | 2020.07.12 |
이란 무엇입니까? (0) | 2020.07.12 |
Kotlin에서“대신 그 대신에 단검 프로세서를 실행하는 것이 좋습니다” (0) | 2020.07.12 |