IngestManifest

An IngestManifest represents a set of assets to be created through bulk ingesting along with their associated asset files. Bulk ingesting allows you to decouple the file upload process from asset creation. As a result, a high-performance file upload method can be used for large file sets during asset creation. Once an IngestManifestAssets is created, along with its associated IngestManifestFiles, Microsoft Azure Media Services watches the Blob storage container associated with the IngestManifest via the BlobStorageUriForUpload property. As each file upload to the Blob storage container completes, Microsoft Azure Media Services completes a new asset for the respective IngestManifestAsset that contains that file.

This article gives an overview of the IngestManifest entity and also demonstrates how to execute various operations with the Media Services REST API.

Important

When accessing entities in Media Services, you must set specific header fields and values in your HTTP requests.
For more information, see Setup for Media Services REST API Development and Connecting to Media Services with the Media Services REST API.

Note

Each IngestManifestAssetFile associated with an IngestManifest must have a unique filename in the manifest.

IngestManifest Entity Properties

Property Type Description
Id

Read-only. Set by Media Services at creation time.
Edm.String Unique identifier.
Created

Read-only. Set by Media Services at creation time.
Edm.DateTime Represents the number of milliseconds since midnight Jan 1, 1970.
LastModified

Read-only. Set by Media Services.
Edm.DateTime This value is updated by Media Services after any property changes are made. It represents the number of milliseconds since midnight Jan 1, 1970.
Name

Optional.
Edm.String Friendly name for your IngestManifest.
State

Read-only. Set by Media Services.
Edm.Int32 The current state of the manifest. This value can be one of the following:

- Inactive = 0: No pending asset creations remain. All have either completed or encountered an error.
- Activating = 1: The manifest is not yet ready to receive files uploaded to the Blob container.
- Active = 2: There are IngestManifestAssets pending creations and the Blob container is being monitored.
BlobStorageUriForUpload

Read-only. Set by Media Services.
Edm.String This value is set by Media Services. This value specifies the Uri of the Blob storage container, which receives the file uploads needed to complete the IngestManifestAssets.
Statistics

Read-only. Set by Media Services.
IngestManifestStatistics This complex type contains statistic information to help determine the current progress of the creation of IngestManifestAssets based on all asset files related to the manifest.
IngestManifestAssets

Read-only. Set by Media Services.
IngestManifestAsset entity set Navigation property that can be accessed by referencing a specific IngestManifestAsset by Id value. The returned entity set contains all IngestManifestAssets contained in the IngestManifest.
PendingIngestManifestAssets

Read-only. Set by Media Services.
IngestManifestAsset entity set Navigation property that can be accessed by referencing a specific IngestManifestAsset by Id value. The returned entity set contains all IngestManifestAssets pending file upload or asset creation.
StorageAccountName

Optional. Cannot be updated after the entity has been created.
Edm.String Name of the storage account that contains the blob container where the files are uploaded.

If not specified at creation time, Media Services sets the default storage account name.

IngestManifestAsset.Asset has to use the same storage account as specified in the IngestManifest.
StorageAccount

Read-only. Set by Media Services.
StorageAccount entity set. The returned entity set contains all of the StorageAccount entities that are linked to the specified Asset.

Create an IngestManifest

IngestManifests can be created by using an HTTP POST request and passing a request body that contains the name of the new IngestManifest.

Method Request URI HTTP Version
POST https://<accountname>.restv2.<location>.media.azure.net/api/IngestManifests HTTP/1.1

Sample Request

To get the latest x-ms-version:, see Media Services REST.

POST https:// media.windows.net/API/IngestManifests HTTP/1.1  
Content-Type: application/json;odata=verbose  
Accept: application/json;odata=verbose  
DataServiceVersion: 3.0  
MaxDataServiceVersion: 3.0  
x-ms-version: 2.19  
Authorization: Bearer <token value>   
Host: media.windows.net  
Content-Length: 36  
Expect: 100-continue  
  
{ "Name" : "ExampleManifestREST" }  
  

List an IngestManifest

IngestManifests can be retrieved using an HTTP GET request. You can request an ingest manifest by its Id or request all manifests.

Method Request URI HTTP Version
GET https://<accountname>.restv2.<location>.media.azure.net/api/IngestManifests HTTP/1.1
GET https://<accountname>.restv2.<location>.media.azure.net/api/IngestManifests(‘IngestManifest Id’) HTTP/1.1

Sample Request

To get the latest x-ms-version:, see Media Services REST.

GET https://<accountname>.restv2.<location>.media.azure.net/api/IngestManifests('nb:mid:UUID:a2f9a230-831e-5e40-bafa-fbf8decbee26') HTTP/1.1  
Content-Type: application/json;odata=verbose  
Accept: application/json;odata=verbose  
DataServiceVersion: 3.0  
MaxDataServiceVersion: 3.0  
x-ms-version: 2.19  
Authorization: Bearer <token value>  
Host: media.windows.net  
Content-Length: 0  

Update an IngestManifest

IngestManifests can be updated by referencing the IngestManifest Id with an HTTP MERGE request. The request body contains the properties to be updated.

Method Request URI HTTP Version
MERGE https://<accountname>.restv2.<location>.media.azure.net/api/IngestManifests(‘IngestManifest Id’) HTTP/1.1

Sample Request

To get the latest x-ms-version:, see Media Services REST.

MERGE https:// media.windows.net /API/IngestManifests('nb:mid:UUID:076faa09-8f5d-ce41-9de3-32ba66190271') HTTP/1.1  
Content-Type: application/json;odata=verbose  
Accept: application/json;odata=verbose  
DataServiceVersion: 3.0  
MaxDataServiceVersion: 3.0  
x-ms-version: 2.19  
Authorization: Bearer <token value>  
Host: media.windows.net  
Content-Length: 43  
Expect: 100-continue  
  
{ "Name" : "ExampleManifestUpdated" }  
  

Delete an Ingest Manifest

IngestManifests can be deleted by referencing the IngestManifest Id value with an HTTP DELETE request.

Method Request URI HTTP Version
DELETE https://<accountname>.restv2.<location>.media.azure.net/api/IngestManifests(‘IngestManifest Id’) HTTP/1.1

Sample Request

To get the latest x-ms-version:, see Media Services REST.

DELETE https://<accountname>.restv2.<location>.media.azure.net/api/IngestManifests('nb:mid:UUID:45ea3cd0-b3cf-994b-8e4d-03c9620c22da') HTTP/1.1  
Content-Type: application/json;odata=verbose  
Accept: application/json;odata=verbose  
DataServiceVersion: 3.0  
MaxDataServiceVersion: 3.0  
x-ms-version: 2.19  
Authorization: Bearer <token value>  
Host: media.windows.net  
Content-Length: 0  
  

See Also

AccessPolicy
AssetFile
Asset
ContentKey
IngestManifestAsset
IngestManifestFile
IngestManifestStatistics
Job
JobTemplate
Locator
MediaProcessor
Task
TaskTemplate
Quotas and Limitations