You can resume a "list" action

If the response output has been stopped, you can resume it.

A list action response may contain a large amount of entries. To limit excessive output, you can utilize the max_entries=[#] field in the action header for the call. Subsequently, ObjectStore may enforce a limit, based on various implementation-dependent factors. If the list listing is not complete, a resume start is returned as the final item in the response output. It is comprised of the next object in the list, and looks similar to the following:

<list> ... [add'l response entries] 
     <file type="file" name="[CP Code]/dir1/file3.txt" size="0" md5="[HASH]" mtime="[MTIME]"/>
    <resume start="/[CP Code]/dir1/[Object]> 
</list>

The “resume start” can then be used in a subsequent list action call to continue the response from where the previous request finished:

How to

  1. Set the request path to the path returned as the resume start.
  2. Recompute the [Signature Headers]. The new resume start request path needs to be included in these headers.
    GET /[CP Code]/dir1/[Object] HTTP/1.1 
    Host: [Domain Prefix]-nsu.akamaihd.net 
    X-Akamai-ACS-Action: version=1&action=list&format=xml 
    [Recomputed Signature Headers]

What you should see

As a result, the list response will continue from the specified point:

<list> 
    <file type="file" name="[CP Code]/dir1/[Object]" size="0" md5="[HASH]" mtime="[MTIME]"/> 
    <file type="file" name="[CP Code]/dir1/file5.txt" size="0" md5="[HASH]" mtime="[MTIME]"/> 
    ... [add'l response entries] 
</list>
You can include “max-entries=[#]” in a “list” resume

Just like an initial call, you can include the max-entries=[#] field in the action header in a resumed list, to limit resulting output. As a result, a new resume start is returned in the response. It could then be used to continue the list, using the steps discussed above.

Note: Once a list is initiated, it must run to fruition. If you anticipate a large number of records in the response, it is recommended that you include the max_entries=[#] field in the action header—both initially, as well as in subsequent “resumes”.
Example output
<list>
 <file type="dir" name="[CP Code]/dir1/"/>
 <file type="file" name="[CP Code]/dir1/file1.txt" size="0" md5="[HASH]" mtime="[MTIME]"/>
 <file type="file" name="[CP Code]/dir1/file2.txt" size="0" md5="[HASH]" mtime="[MTIME]"/>
 <file type="file" name="[CP Code]/dir1/file3.txt" size="0" md5="[HASH]" mtime="[MTIME]"/>
 <resume start="/[CP Code]/dir1/file4.txt"/>
</list>
Resumed list:
GET /[CP Code]/dir1/file4.txt HTTP/1.1 
Host: [Domain Prefix]-nsu.akamaihd.net 
X-Akamai-ACS-Action: version=1&action=list&format=xml 
[Recomputed Signature Headers]
<list>
 <file type="file" name="[CP Code]/dir1/file4.txt" size="0" md5="[HASH]" mtime="[MTIME]"/>
 <file type="file" name="[CP Code]/dir1/file5.txt" size="0" md5="[HASH]" mtime="[MTIME]"/>
 <file type="file" name="[CP Code]/dir1/file6.txt" size="0" md5="[HASH]" mtime="[MTIME]"/>
</list>