IBM Bluemix オブジェクト ストアを使用しています。ここで、オブジェクト ストアにあるファイルの数と、コンテナー内のこれらのオブジェクトの合計サイズを知りたいと考えています。
コンテナー (/v1/ {account} / {container} ) の情報を取得しようとすると、最大 10000 個のオブジェクトしか返されません。
オブジェクトの総数とコンテナーの合計サイズを取得するために使用する必要がある別の URL です。
アルジャン
IBM Bluemix オブジェクト ストアを使用しています。ここで、オブジェクト ストアにあるファイルの数と、コンテナー内のこれらのオブジェクトの合計サイズを知りたいと考えています。
コンテナー (/v1/ {account} / {container} ) の情報を取得しようとすると、最大 10000 個のオブジェクトしか返されません。
オブジェクトの総数とコンテナーの合計サイズを取得するために使用する必要がある別の URL です。
アルジャン
次のcurl
コマンドは、JSON オブジェクトの配列を返します。各オブジェクトには、コンテナーの次の詳細が含まれています。
コンテナの名前
curl -i https://dal.objectstorage.open.softlayer.com/v1/{account}?format=json -X GET -H "X-Auth-Token: xxxxx"
次の情報を返します (JSON オブジェクトの配列については最後の行を参照してください。ただし、情報はヘッダーでも利用できます)。
HTTP/1.1 200 OK
Content-Length: 143
X-Account-Object-Count: 6
X-Account-Storage-Policy-Standard-Container-Count: 3
X-Timestamp: 1462461311.74826
X-Account-Meta-Temp-Url-Key: xxxxxx
X-Account-Storage-Policy-Standard-Object-Count: 6
X-Account-Bytes-Used: 8767182
X-Account-Container-Count: 3
Content-Type: application/json; charset=utf-8
Accept-Ranges: bytes
X-Account-Storage-Policy-Standard-Bytes-Used: 8767182
x-account-project-domain-id: xxxxxx
Date: Wed, 18 May 2016 01:31:01 GMT
[{"count": 1, "bytes": 7873373, "name": "logs"}, {"count": 3, "bytes": 378749, "name": "test"}, {"count": 2, "bytes": 515060, "name": "test2"}]
セキュリティ上の理由から、上記の一部の機密データをマスクしたことに注意してください。
デバッグ モードで clicurl
を実行すると、次のコマンドが表示されます。swift
$ swift --debug list -lt
swift
Object Storage 用に cliをセットアップする方法の詳細が必要な場合は、以下のリンクにあるドキュメントを参照してください。
Python を使用すると、次のようなことができます。
conn = swiftclient.Connection(
key=password,
authurl=auth_url,
auth_version='3',
os_options={"project_id": project_id,
"user_id": user_id,
"region_name": region_name})
#List objects in a container, and prints out each object name, the file size, and last modified date
for container in conn.get_account()[1]:
for data in conn.get_container(container['name'])[1]:
print 'object: {0}\t size: {1}\t date: {2}'.format(data['name'], data['bytes'], data['last_modified'])