IBM Bluemix对​​象库中的对象总大小和总数

时间:2016-05-17 14:11:31

标签: ibm-cloud openstack object-storage

我正在使用IBM Bluemix Object Store。 现在我想知道对象库中有多少文件以及这些对象在一个容器中的总大小。

当我尝试获取容器的信息时(/ v1 / {account} / {container})我只返回最多10000个对象的对象。

我必须使用另一个URL来获取对象的总数和容器的总大小。

阿尔扬

3 个答案:

答案 0 :(得分: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"}]

请注意,出于安全原因,我屏蔽了上面的一些敏感数据。

在调试模式下运行curl cli时,您可以看到下面的swift命令:

$ swift --debug list -lt

如果您需要有关如何为对象存储设置swift cli的更多信息,请参阅以下链接中的文档:

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

答案 1 :(得分: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'])

Source

答案 2 :(得分:0)

考虑使用Swift CLI。

#swift stat 显示帐户详情

Account: AUTH_ad1e25aee7464b35ad82dd5c19725a4a
Containers: 4710
Objects: 53
Bytes: 52446270
...

#swift stat my_container 显示容器详细信息

Account: AUTH_ad1e25aee7464b35ad82dd5c19725a4a
Container: my_container
Objects: 1
Bytes: 1437696
...