Page through large lists of containers or objects

Page through large lists of containers or objects

If you have a large number of containers or objects, you can use the marker, limit, and end_marker parameters to control how many items are returned in a list and where the list starts or ends.

  • marker
    When you request a list of containers or objects, Object Storage returns a maximum of 10,000 names for each request. To get subsequent names, you must make another request with the marker parameter. Set the marker parameter to the name of the last item returned in the previous list. You must URL-encode the marker value before you send the HTTP request. Object Storage returns a maximum of 10,000 names starting after the last item returned.
  • limit
    To return fewer than 10,000 names, use the limit parameter. If the number of names returned equals the specified limit (or 10,000 if you omit the limit parameter), you can assume there are more names to list. If the number of names in the list is exactly divisible by the limit value, the last request has no content.
  • end_marker
    Limits the result set to names that are less than the end_marker parameter value. You must URL-encode the end_marker value before you send the HTTP request.

To page through a large list of containers

Assume the following list of container names:

apples
bananas
kiwis
oranges
pears
  1. Use a limit of two:

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

    Because two container names are returned, there are more names to list.

  2. Make another request with a marker parameter set to the name of the last item returned:

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

    Again, two items are returned, and there might be more.

  3. Make another request with a marker of the last item returned:

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

    You receive a one-item response, which is fewer than the limit number of names. This indicates that this is the end of the list.

  4. Use the end_marker parameter to limit the result set to object names that are less than the end_marker parameter value:

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

    You receive a result set of all container names before the end-marker value.

Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.

swift 2.21.2.dev16