浏览大型容器或对象列表

如果您有大量的容器或对象,可以使用 markerlimitend_marker 参数来控制列表中返回的项目数量以及列表的起始或结束位置。如果您想向后翻页,可以使用 reverse 参数。

  • marker

    当您请求容器或对象列表时,对象存储每次请求最多返回 10,000 个名称。要获取后续名称,您必须使用 marker 参数发出另一个请求。将 marker 参数设置为前一个列表中返回的最后一个项目的名称。在发送 HTTP 请求之前,必须对 marker 值进行 URL 编码。对象存储将返回从上一个项目之后开始的最大 10,000 个名称。

  • limit

    要返回少于 10,000 个名称,请使用 limit 参数。如果返回的名称数量等于指定的 limit(或者您省略 limit 参数则为 10,000),您可以假设还有更多名称需要列出。如果列表中的名称数量可以被 limit 值整除,则最后一个请求没有内容。

  • end_marker

    将结果集限制为小于 end_marker 参数值的名称。在发送 HTTP 请求之前,必须对 end_marker 值进行 URL 编码。

  • reverse

    默认情况下,列表按名称排序,升序排列。如果您包含 reverse=true 查询参数,则列表将按名称排序,降序排列。

浏览大型容器列表

假设以下容器名称列表

apples
bananas
kiwis
oranges
pears
  1. 使用 limit 为二

    # curl -i $publicURL/?limit=2 -X GET -H "X-Auth-Token: $token"
    
    apples
    bananas
    

    由于返回了两个容器名称,因此还有更多名称需要列出。

  2. 使用 marker 参数发出另一个请求,该参数设置为返回的最后一个项目的名称

    # curl -i $publicURL/?limit=2&marker=bananas -X GET -H \
      “X-Auth-Token: $token"
    
    kiwis
    oranges
    

    同样,返回了两个项目,并且可能还有更多。

  3. 使用返回的最后一个项目的 marker 发出另一个请求

    # curl -i $publicURL/?limit=2&marker=oranges -X GET -H \"
      X-Auth-Token: $token"
    
    pears
    

    您收到一个单项响应,该响应少于 limit 个名称。这表示这是列表的末尾。

  4. 使用 end_marker 参数将结果集限制为小于 end_marker 参数值的对象名称

    # curl -i $publicURL/?end_marker=oranges -X GET -H \"
     X-Auth-Token: $token"
    
    apples
    bananas
    kiwis
    

    您将收到所有在 end-marker 值之前的容器名称的结果集。

  5. 使用 reverse 参数从列表的末尾开始工作

    # curl -i $publicURL/?reverse=true -X GET -H \"
       X-Auth-Token: $token"
    
    pears
    oranges
    kiwis
    bananas
    apples
    
  6. 您还可以组合参数

    # curl -i $publicURL/?reverse=true&end_marker=kiwis -X GET -H \"
       X-Auth-Token: $token"
    
    pears
    oranges