Content Listing

Media Ingest and CDN Object Storage underwent end-of-life on 11/12/2018. Content may no longer be streamed via Media Ingest and content uploaded by your encoder to CDN Object Storage is no longer available. This article is still available in order to provide assistance while you migrate to a new streaming workflow.

A bucket's contents may be retrieved:

Object Storage Page

The Object Storage page contains a listing of buckets and their contents.

HTTP GET Request

Retrieve a list of the assetA file is the most commonly known example of an asset. Refers to any collection of data that is typically stored as a single unit on a storage unit (e.g., disk drive). An example of an asset that is not physically stored on a disk drive occurs when dynamically generated content is not cached.s contained within a bucket by submitting a GET request for the desired bucket's root directory.

Key information:

Request

The syntax for this type of request is provided below.

HTTP Method Request URI

GET

CDN URL:

http://wpc.ANThis term represents your customer account number (e.g., 0001) which can be found in the upper right-hand corner of the MCC..{Base Domain}/30ANThis term represents your customer account number (e.g., 0001) which can be found in the upper right-hand corner of the MCC./CDNOSLocationReplace this term with the CDN Object Storage location assigned to your account./ANThis term represents your customer account number (e.g., 0001) which can be found in the upper right-hand corner of the MCC.-BucketRepresents the name of the bucket to which the event was uploaded.

Edge CNAME URL:

https://EdgeCNAMERepresents the edge CNAME configuration created for CDN Object Storage./CDNOSLocationThis term represents the CDN Object Storage location assigned to your account. Omit this URL segment when this location is defined as the edge CNAME's relative path/ANThis term represents your customer account number (e.g., 0001) which can be found in the upper right-hand corner of the MCC.-BucketRepresents the name of the bucket to which the event was uploaded.

Do not include a trailing forward slash when requesting a bucket.
Invalid request:
https://stream.mydomain.com/0001-mybucket/

A CDN URL for each CDN Object Storage bucket is listed on the HTTP Media Ingest page.

Use the following query string parameters to filter or modify the response:

Query String Parameter Description

prefix

Filters the response to only return assets whose Key tag starts with the specified value.

Syntax:

prefix=StartsWithValue

Sample Value:

?prefix=elementalHLS/myevent1080p

delimiter

Groups delimited assets by prefix.

Key information:

  • Only assets whose Key tag contains the specified delimiter will be affected by this parameter.
  • A delimiter may only consist of a single character.
  • Detailed information on these assets will not be included in the response. In other words, a Contents tag will not be generated for these assets.
  • Assets that contain the specified delimiter and share the same prefix will be grouped together under the CommonPrefixes tag.

Syntax:

delimiter=Delimiter

Sample Value:

?delimiter=-

marker

The purpose of this query string parameter is to facilitate the retrieval of buckets that contain more than 1000 assets. It facilitates the retrieval of large buckets by determining the starting point of the response. Since assets are listed in alphabetical order, the contents of a large bucket may be retrieved by submitting multiple requests using this query string parameter.

Details:

  1. This parameter identifies an asset by finding the first asset whose Key tag starts with the specified value.
  2. The response will only include assets that are alphabetically listed after the asset identified in the previous step.

Learn more.

Syntax:

marker=StartsWithValue

Sample Value:

?marker=elementalHLS/myevent1080p_00025.ts

max-keys

Limits the number of assets to the specified value.

Omitting this query string parameter allows the response to include up to 1000 assets.

Syntax:

max-keys=#ofObjects

Sample Value:

?max-keys=500

Retrieving Large Buckets

The contents of a bucket containing more than 1000 assets may be retrieved through the following procedure:

  1. Find out the current number of assets contained within the desired bucket.

    1. Submit a HEAD request to the bucket's root directory.

    2. Look at the value assigned to the X-RGW-Object-Count header.

      Example:

      X-RGW-Object-Count: 3001
  2. Divide the value assigned to the X-RGW-Object-Count header by 1000 and round up to the next whole integer.

    For example, a value of 3001 requires 4 separate requests.

  3. Submit the initial GET request to the root directory of the desired bucket.
  4. Parse through the response to find the last asset (i.e., the last Contents tag in the response).
  5. Submit a GET request to the root directory of the desired bucket using the marker query string parameter. Set this parameter to the value assigned to the Key tag for the asset identified in the previous step.

  6. Repeat steps 4 and 5 until the total number of GET requests equals the integer calculated in step 2.

Response

The response to a request for a listing of a bucket's content may contain the following elements:

Name Description

ListBucketResult

This tag contains the entire response.

Name

Identifies the name of the bucket whose content was requested.

Syntax:

Prefix

Identifies the value defined in the prefix query string parameter.

This tag is empty when the prefix query string parameter is not included in the request URI.

Marker

Identifies the value defined in the marker query string parameter.

This tag is empty when the marker query string parameter is not included in the request URI.

MaxKeys

Indicates the maximum number of assets that may be included in the response.

This tag is empty when the max-keys query string parameter is not included in the request URI.

IsTruncated

Indicates whether the response includes a listing of all assets stored within the requested bucket.

Valid values are:

  • true: The response included a partial listing of a bucket's contents.
  • false: The response included all assets stored within the bucket.

Contents

Contains a set of response elements that describe an asset.

A Contents tag is generated for each asset included in the response.

Key

Identifies an asset by its file name.

LastModified

Indicates the date and time when the asset was last modified.

Format:

YYYY-MM-DDThh:mm:ss.000Z

Example:

2015-06-30T20:42:09.000Z

The above value represents June 30th, 2015 at 8:42 p.m. UTC.

ETag

Indicates the asset's entity tag (ETag). This value is a MD5 hash of the asset.

Size

Indicates the asset's file size in bytes.

StorageClass

This response element always reports "STANDARD."

Owner

Contains response elements that identify your customer account.

ID

Identifies your customer account number.

Format:

DisplayName

Identifies your customer account number.

Format:

CommonPrefixes

Contains the Prefix tag.

This tag is only present when the delimiter query string parameter is defined in the request URL.

A CommonPrefixes tag is generated for each set of assets that share a common prefix and whose name includes a delimiter.

Prefix

Identifies a set of delimited assets that share a common prefix.

Sample Request and Response

A sample request is provided below.

GET http://stream.mydomain.com/0001-mybucket

The response to the above request is provided below.

<?xml version="1.0" encoding="UTF-8"?>

<ListBucketResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">

<Name>0001-mybucket</Name>

<Prefix/>

<Marker/>

<MaxKeys>1000</MaxKeys>

<IsTruncated>false</IsTruncated>

<Contents>

<Key>elementalHLS/myevent.m3u8</Key>

<LastModified>2015-09-11T17:53:29.000Z</LastModified>

<ETag>"c2c873c85fa6688037c3c23d23e19aca"</ETag>

<Size>143</Size>

<StorageClass>STANDARD</StorageClass>

<Owner>

<ID>0001</ID>

<DisplayName>Customer AN#0001</DisplayName>

</Owner>

</Contents>

<Contents>

<Key>elementalHLS/myevent1080p.m3u8</Key>

<LastModified>2015-09-11T18:00:32.000Z</LastModified>

<ETag>"69d65e9bfee52e7af1d22885e20a2f93"</ETag>

<Size>459</Size>

<StorageClass>STANDARD</StorageClass>

<Owner>

<ID>0001</ID>

<DisplayName>Customer AN#0001</DisplayName>

</Owner>

</Contents>

<Contents>

<Key>elementalHLS/myevent1080p_00021.ts</Key>

<LastModified>2015-09-11T17:56:50.000Z</LastModified>

<ETag>"e84b0c2fd82510ea3880b56b9c7aa495"</ETag>

<Size>11421376</Size>

<StorageClass>STANDARD</StorageClass>

<Owner>

<ID>0001</ID>

<DisplayName>Customer AN#0001</DisplayName>

</Owner>

</Contents>

<Contents>

<Key>elementalHLS/myevent1080p_00022.ts</Key>

<LastModified>2015-09-11T17:57:02.000Z</LastModified>

<ETag>"9be72d761dd373e2bfc3c1f24fd3bb32"</ETag>

<Size>11749248</Size>

<StorageClass>STANDARD</StorageClass>

<Owner>

<ID>0001</ID>

<DisplayName>Customer AN#0001</DisplayName>

</Owner>

</Contents>

<Contents>

<Key>elementalHLS/myevent1080p_00023.ts</Key>

<LastModified>2015-09-11T17:57:13.000Z</LastModified>

<ETag>"821e00755e30b48dc3a14791c0dba680"</ETag>

<Size>12131828</Size>

<StorageClass>STANDARD</StorageClass>

<Owner>

<ID>0001</ID>

<DisplayName>Customer AN#0001</DisplayName>

</Owner>

</Contents>

<Contents>

<Key>elementalHLS/myevent1080p_00024.ts</Key>

<LastModified>2015-09-11T17:57:24.000Z</LastModified>

<ETag>"237a7fe297e99a4d2c36a90063c63395"</ETag>

<Size>11260824</Size>

<StorageClass>STANDARD</StorageClass>

<Owner>

<ID>0001</ID>

<DisplayName>Customer AN#0001</DisplayName>

</Owner>

</Contents>

<Contents>

<Key>elementalHLS/myevent1080p_00025.ts</Key>

<LastModified>2015-09-11T17:57:35.000Z</LastModified>

<ETag>"1596342e7d33b2eca5d76bfc58e971ce"</ETag>

<Size>11845692</Size>

<StorageClass>STANDARD</StorageClass>

<Owner>

<ID>0001</ID>

<DisplayName>Customer AN#0001</DisplayName>

</Owner>

</Contents>

<Contents>

<Key>elementalHLS/myevent1080p_00026.ts</Key>

<LastModified>2015-09-11T17:57:47.000Z</LastModified>

<ETag>"2b583a720ba26a356de8ee9e5324a685"</ETag>

<Size>10133012</Size>

<StorageClass>STANDARD</StorageClass>

<Owner>

<ID>0001</ID>

<DisplayName>Customer AN#0001</DisplayName>

</Owner>

</Contents>

<Contents>

<Key>elementalHLS/myevent1080p_00027.ts</Key>

<LastModified>2015-09-11T17:57:58.000Z</LastModified>

<ETag>"f38f935182cf7995ca6b133b47e7c57a"</ETag>

<Size>10877680</Size>

<StorageClass>STANDARD</StorageClass>

<Owner>

<ID>0001</ID>

<DisplayName>Customer AN#0001</DisplayName>

</Owner>

</Contents>

<Contents>

<Key>elementalHLS/myevent1080p_00028.ts</Key>

<LastModified>2015-09-11T17:58:09.000Z</LastModified>

<ETag>"d1551447ea441dfc7c7d772dadb7ee03"</ETag>

<Size>12149688</Size>

<StorageClass>STANDARD</StorageClass>

<Owner>

<ID>0001</ID>

<DisplayName>Customer AN#0001</DisplayName>

</Owner>

</Contents>

</ListBucketResult>