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"}]

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

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

$ swift --debug list -lt

如果您需要有关如何swift为您的对象存储设置 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 回答
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
...
于 2016-05-17T21:55:36.983 回答