0

IBM Bluemix オブジェクト ストアを使用しています。ここで、オブジェクト ストアにあるファイルの数と、コンテナー内のこれらのオブジェクトの合計サイズを知りたいと考えています。

コンテナー (/v1/ {account} / {container} ) の情報を取得しようとすると、最大 10000 個のオブジェクトしか返されません。

オブジェクトの総数とコンテナーの合計サイズを取得するために使用する必要がある別の URL です。

アルジャン

4

3 に答える 3

1

次の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

swiftObject Storage 用に cliをセットアップする方法の詳細が必要な場合は、以下のリンクにあるドキュメントを参照してください。

https://new-console.eu-gb.bluemix.net/docs/services/ObjectStorage/objectstorge_usingobjectstorage.html#using-swift-cli

于 2016-05-18T01:41:23.407 に答える
0

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'])

ソース

于 2016-05-17T14:26:00.133 に答える