AWS Elemental MediaPackage v2

2024/10/28 - AWS Elemental MediaPackage v2 - 4 new api methods

Changes  MediaPackage V2 Live to VOD Harvester is a MediaPackage V2 feature, which is used to export content from an origin endpoint to a S3 bucket.

CreateHarvestJob (new) Link ¶

Creates a new harvest job to export content from a MediaPackage v2 channel to an S3 bucket.

See also: AWS API Documentation

Request Syntax

client.create_harvest_job(
    ChannelGroupName='string',
    ChannelName='string',
    OriginEndpointName='string',
    Description='string',
    HarvestedManifests={
        'HlsManifests': [
            {
                'ManifestName': 'string'
            },
        ],
        'DashManifests': [
            {
                'ManifestName': 'string'
            },
        ],
        'LowLatencyHlsManifests': [
            {
                'ManifestName': 'string'
            },
        ]
    },
    ScheduleConfiguration={
        'StartTime': datetime(2015, 1, 1),
        'EndTime': datetime(2015, 1, 1)
    },
    Destination={
        'S3Destination': {
            'BucketName': 'string',
            'DestinationPath': 'string'
        }
    },
    ClientToken='string',
    HarvestJobName='string',
    Tags={
        'string': 'string'
    }
)
type ChannelGroupName:

string

param ChannelGroupName:

[REQUIRED]

The name of the channel group containing the channel from which to harvest content.

type ChannelName:

string

param ChannelName:

[REQUIRED]

The name of the channel from which to harvest content.

type OriginEndpointName:

string

param OriginEndpointName:

[REQUIRED]

The name of the origin endpoint from which to harvest content.

type Description:

string

param Description:

An optional description for the harvest job.

type HarvestedManifests:

dict

param HarvestedManifests:

[REQUIRED]

A list of manifests to be harvested.

  • HlsManifests (list) --

    A list of harvested HLS manifests.

    • (dict) --

      Information about a harvested HLS manifest.

      • ManifestName (string) -- [REQUIRED]

        The name of the harvested HLS manifest.

  • DashManifests (list) --

    A list of harvested DASH manifests.

    • (dict) --

      Information about a harvested DASH manifest.

      • ManifestName (string) -- [REQUIRED]

        The name of the harvested DASH manifest.

  • LowLatencyHlsManifests (list) --

    A list of harvested Low-Latency HLS manifests.

    • (dict) --

      Information about a harvested Low-Latency HLS manifest.

      • ManifestName (string) -- [REQUIRED]

        The name of the harvested Low-Latency HLS manifest.

type ScheduleConfiguration:

dict

param ScheduleConfiguration:

[REQUIRED]

The configuration for when the harvest job should run, including start and end times.

  • StartTime (datetime) -- [REQUIRED]

    The start time for the harvest job.

  • EndTime (datetime) -- [REQUIRED]

    The end time for the harvest job.

type Destination:

dict

param Destination:

[REQUIRED]

The S3 destination where the harvested content will be placed.

  • S3Destination (dict) -- [REQUIRED]

    The configuration for exporting harvested content to an S3 bucket. This includes details such as the bucket name and destination path within the bucket.

    • BucketName (string) -- [REQUIRED]

      The name of an S3 bucket within which harvested content will be exported.

    • DestinationPath (string) -- [REQUIRED]

      The path within the specified S3 bucket where the harvested content will be placed.

type ClientToken:

string

param ClientToken:

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

This field is autopopulated if not provided.

type HarvestJobName:

string

param HarvestJobName:

A name for the harvest job. This name must be unique within the channel.

type Tags:

dict

param Tags:

A collection of tags associated with the harvest job.

  • (string) --

    • (string) --

rtype:

dict

returns:

Response Syntax

{
    'ChannelGroupName': 'string',
    'ChannelName': 'string',
    'OriginEndpointName': 'string',
    'Destination': {
        'S3Destination': {
            'BucketName': 'string',
            'DestinationPath': 'string'
        }
    },
    'HarvestJobName': 'string',
    'HarvestedManifests': {
        'HlsManifests': [
            {
                'ManifestName': 'string'
            },
        ],
        'DashManifests': [
            {
                'ManifestName': 'string'
            },
        ],
        'LowLatencyHlsManifests': [
            {
                'ManifestName': 'string'
            },
        ]
    },
    'Description': 'string',
    'ScheduleConfiguration': {
        'StartTime': datetime(2015, 1, 1),
        'EndTime': datetime(2015, 1, 1)
    },
    'Arn': 'string',
    'CreatedAt': datetime(2015, 1, 1),
    'ModifiedAt': datetime(2015, 1, 1),
    'Status': 'QUEUED'|'IN_PROGRESS'|'CANCELLED'|'COMPLETED'|'FAILED',
    'ErrorMessage': 'string',
    'ETag': 'string',
    'Tags': {
        'string': 'string'
    }
}

Response Structure

  • (dict) --

    The response object returned after creating a harvest job.

    • ChannelGroupName (string) --

      The name of the channel group containing the channel from which content is being harvested.

    • ChannelName (string) --

      The name of the channel from which content is being harvested.

    • OriginEndpointName (string) --

      The name of the origin endpoint from which content is being harvested.

    • Destination (dict) --

      The S3 destination where the harvested content will be placed.

      • S3Destination (dict) --

        The configuration for exporting harvested content to an S3 bucket. This includes details such as the bucket name and destination path within the bucket.

        • BucketName (string) --

          The name of an S3 bucket within which harvested content will be exported.

        • DestinationPath (string) --

          The path within the specified S3 bucket where the harvested content will be placed.

    • HarvestJobName (string) --

      The name of the created harvest job.

    • HarvestedManifests (dict) --

      A list of manifests that will be harvested.

      • HlsManifests (list) --

        A list of harvested HLS manifests.

        • (dict) --

          Information about a harvested HLS manifest.

          • ManifestName (string) --

            The name of the harvested HLS manifest.

      • DashManifests (list) --

        A list of harvested DASH manifests.

        • (dict) --

          Information about a harvested DASH manifest.

          • ManifestName (string) --

            The name of the harvested DASH manifest.

      • LowLatencyHlsManifests (list) --

        A list of harvested Low-Latency HLS manifests.

        • (dict) --

          Information about a harvested Low-Latency HLS manifest.

          • ManifestName (string) --

            The name of the harvested Low-Latency HLS manifest.

    • Description (string) --

      The description of the harvest job, if provided.

    • ScheduleConfiguration (dict) --

      The configuration for when the harvest job will run, including start and end times.

      • StartTime (datetime) --

        The start time for the harvest job.

      • EndTime (datetime) --

        The end time for the harvest job.

    • Arn (string) --

      The Amazon Resource Name (ARN) of the created harvest job.

    • CreatedAt (datetime) --

      The date and time the harvest job was created.

    • ModifiedAt (datetime) --

      The date and time the harvest job was last modified.

    • Status (string) --

      The current status of the harvest job (e.g., CREATED, IN_PROGRESS, ABORTED, COMPLETED, FAILED).

    • ErrorMessage (string) --

      An error message if the harvest job creation failed.

    • ETag (string) --

      The current version of the harvest job. Used for concurrency control.

    • Tags (dict) --

      A collection of tags associated with the harvest job.

      • (string) --

        • (string) --

CancelHarvestJob (new) Link ¶

Cancels an in-progress harvest job.

See also: AWS API Documentation

Request Syntax

client.cancel_harvest_job(
    ChannelGroupName='string',
    ChannelName='string',
    OriginEndpointName='string',
    HarvestJobName='string',
    ETag='string'
)
type ChannelGroupName:

string

param ChannelGroupName:

[REQUIRED]

The name of the channel group containing the channel from which the harvest job is running.

type ChannelName:

string

param ChannelName:

[REQUIRED]

The name of the channel from which the harvest job is running.

type OriginEndpointName:

string

param OriginEndpointName:

[REQUIRED]

The name of the origin endpoint that the harvest job is harvesting from. This cannot be changed after the harvest job is submitted.

type HarvestJobName:

string

param HarvestJobName:

[REQUIRED]

The name of the harvest job to cancel. This name must be unique within the channel and cannot be changed after the harvest job is submitted.

type ETag:

string

param ETag:

The current Entity Tag (ETag) associated with the harvest job. Used for concurrency control.

rtype:

dict

returns:

Response Syntax

{}

Response Structure

  • (dict) --

ListHarvestJobs (new) Link ¶

Retrieves a list of harvest jobs that match the specified criteria.

See also: AWS API Documentation

Request Syntax

client.list_harvest_jobs(
    ChannelGroupName='string',
    ChannelName='string',
    OriginEndpointName='string',
    Status='QUEUED'|'IN_PROGRESS'|'CANCELLED'|'COMPLETED'|'FAILED',
    MaxResults=123,
    NextToken='string'
)
type ChannelGroupName:

string

param ChannelGroupName:

[REQUIRED]

The name of the channel group to filter the harvest jobs by. If specified, only harvest jobs associated with channels in this group will be returned.

type ChannelName:

string

param ChannelName:

The name of the channel to filter the harvest jobs by. If specified, only harvest jobs associated with this channel will be returned.

type OriginEndpointName:

string

param OriginEndpointName:

The name of the origin endpoint to filter the harvest jobs by. If specified, only harvest jobs associated with this origin endpoint will be returned.

type Status:

string

param Status:

The status to filter the harvest jobs by. If specified, only harvest jobs with this status will be returned.

type MaxResults:

integer

param MaxResults:

The maximum number of harvest jobs to return in a single request. If not specified, a default value will be used.

type NextToken:

string

param NextToken:

A token used for pagination. Provide this value in subsequent requests to retrieve the next set of results.

rtype:

dict

returns:

Response Syntax

{
    'Items': [
        {
            'ChannelGroupName': 'string',
            'ChannelName': 'string',
            'OriginEndpointName': 'string',
            'Destination': {
                'S3Destination': {
                    'BucketName': 'string',
                    'DestinationPath': 'string'
                }
            },
            'HarvestJobName': 'string',
            'HarvestedManifests': {
                'HlsManifests': [
                    {
                        'ManifestName': 'string'
                    },
                ],
                'DashManifests': [
                    {
                        'ManifestName': 'string'
                    },
                ],
                'LowLatencyHlsManifests': [
                    {
                        'ManifestName': 'string'
                    },
                ]
            },
            'Description': 'string',
            'ScheduleConfiguration': {
                'StartTime': datetime(2015, 1, 1),
                'EndTime': datetime(2015, 1, 1)
            },
            'Arn': 'string',
            'CreatedAt': datetime(2015, 1, 1),
            'ModifiedAt': datetime(2015, 1, 1),
            'Status': 'QUEUED'|'IN_PROGRESS'|'CANCELLED'|'COMPLETED'|'FAILED',
            'ErrorMessage': 'string',
            'ETag': 'string'
        },
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --

    The response object containing the list of harvest jobs that match the specified criteria.

    • Items (list) --

      An array of harvest job objects that match the specified criteria.

      • (dict) --

        Represents a harvest job resource in MediaPackage v2, which is used to export content from an origin endpoint to an S3 bucket.

        • ChannelGroupName (string) --

          The name of the channel group containing the channel associated with this harvest job.

        • ChannelName (string) --

          The name of the channel associated with this harvest job.

        • OriginEndpointName (string) --

          The name of the origin endpoint associated with this harvest job.

        • Destination (dict) --

          The S3 destination where the harvested content will be placed.

          • S3Destination (dict) --

            The configuration for exporting harvested content to an S3 bucket. This includes details such as the bucket name and destination path within the bucket.

            • BucketName (string) --

              The name of an S3 bucket within which harvested content will be exported.

            • DestinationPath (string) --

              The path within the specified S3 bucket where the harvested content will be placed.

        • HarvestJobName (string) --

          The name of the harvest job.

        • HarvestedManifests (dict) --

          A list of manifests that are being or have been harvested.

          • HlsManifests (list) --

            A list of harvested HLS manifests.

            • (dict) --

              Information about a harvested HLS manifest.

              • ManifestName (string) --

                The name of the harvested HLS manifest.

          • DashManifests (list) --

            A list of harvested DASH manifests.

            • (dict) --

              Information about a harvested DASH manifest.

              • ManifestName (string) --

                The name of the harvested DASH manifest.

          • LowLatencyHlsManifests (list) --

            A list of harvested Low-Latency HLS manifests.

            • (dict) --

              Information about a harvested Low-Latency HLS manifest.

              • ManifestName (string) --

                The name of the harvested Low-Latency HLS manifest.

        • Description (string) --

          An optional description of the harvest job.

        • ScheduleConfiguration (dict) --

          The configuration for when the harvest job is scheduled to run.

          • StartTime (datetime) --

            The start time for the harvest job.

          • EndTime (datetime) --

            The end time for the harvest job.

        • Arn (string) --

          The Amazon Resource Name (ARN) of the harvest job.

        • CreatedAt (datetime) --

          The date and time when the harvest job was created.

        • ModifiedAt (datetime) --

          The date and time when the harvest job was last modified.

        • Status (string) --

          The current status of the harvest job (e.g., QUEUED, IN_PROGRESS, CANCELLED, COMPLETED, FAILED).

        • ErrorMessage (string) --

          An error message if the harvest job encountered any issues.

        • ETag (string) --

          The current version of the harvest job. Used for concurrency control.

    • NextToken (string) --

      A token used for pagination. Include this value in subsequent requests to retrieve the next set of results. If null, there are no more results to retrieve.

GetHarvestJob (new) Link ¶

Retrieves the details of a specific harvest job.

See also: AWS API Documentation

Request Syntax

client.get_harvest_job(
    ChannelGroupName='string',
    ChannelName='string',
    OriginEndpointName='string',
    HarvestJobName='string'
)
type ChannelGroupName:

string

param ChannelGroupName:

[REQUIRED]

The name of the channel group containing the channel associated with the harvest job.

type ChannelName:

string

param ChannelName:

[REQUIRED]

The name of the channel associated with the harvest job.

type OriginEndpointName:

string

param OriginEndpointName:

[REQUIRED]

The name of the origin endpoint associated with the harvest job.

type HarvestJobName:

string

param HarvestJobName:

[REQUIRED]

The name of the harvest job to retrieve.

rtype:

dict

returns:

Response Syntax

{
    'ChannelGroupName': 'string',
    'ChannelName': 'string',
    'OriginEndpointName': 'string',
    'Destination': {
        'S3Destination': {
            'BucketName': 'string',
            'DestinationPath': 'string'
        }
    },
    'HarvestJobName': 'string',
    'HarvestedManifests': {
        'HlsManifests': [
            {
                'ManifestName': 'string'
            },
        ],
        'DashManifests': [
            {
                'ManifestName': 'string'
            },
        ],
        'LowLatencyHlsManifests': [
            {
                'ManifestName': 'string'
            },
        ]
    },
    'Description': 'string',
    'ScheduleConfiguration': {
        'StartTime': datetime(2015, 1, 1),
        'EndTime': datetime(2015, 1, 1)
    },
    'Arn': 'string',
    'CreatedAt': datetime(2015, 1, 1),
    'ModifiedAt': datetime(2015, 1, 1),
    'Status': 'QUEUED'|'IN_PROGRESS'|'CANCELLED'|'COMPLETED'|'FAILED',
    'ErrorMessage': 'string',
    'ETag': 'string',
    'Tags': {
        'string': 'string'
    }
}

Response Structure

  • (dict) --

    The response object containing the details of the requested harvest job.

    • ChannelGroupName (string) --

      The name of the channel group containing the channel associated with the harvest job.

    • ChannelName (string) --

      The name of the channel associated with the harvest job.

    • OriginEndpointName (string) --

      The name of the origin endpoint associated with the harvest job.

    • Destination (dict) --

      The S3 destination where the harvested content is being placed.

      • S3Destination (dict) --

        The configuration for exporting harvested content to an S3 bucket. This includes details such as the bucket name and destination path within the bucket.

        • BucketName (string) --

          The name of an S3 bucket within which harvested content will be exported.

        • DestinationPath (string) --

          The path within the specified S3 bucket where the harvested content will be placed.

    • HarvestJobName (string) --

      The name of the harvest job.

    • HarvestedManifests (dict) --

      A list of manifests that are being or have been harvested.

      • HlsManifests (list) --

        A list of harvested HLS manifests.

        • (dict) --

          Information about a harvested HLS manifest.

          • ManifestName (string) --

            The name of the harvested HLS manifest.

      • DashManifests (list) --

        A list of harvested DASH manifests.

        • (dict) --

          Information about a harvested DASH manifest.

          • ManifestName (string) --

            The name of the harvested DASH manifest.

      • LowLatencyHlsManifests (list) --

        A list of harvested Low-Latency HLS manifests.

        • (dict) --

          Information about a harvested Low-Latency HLS manifest.

          • ManifestName (string) --

            The name of the harvested Low-Latency HLS manifest.

    • Description (string) --

      The description of the harvest job, if provided.

    • ScheduleConfiguration (dict) --

      The configuration for when the harvest job is scheduled to run, including start and end times.

      • StartTime (datetime) --

        The start time for the harvest job.

      • EndTime (datetime) --

        The end time for the harvest job.

    • Arn (string) --

      The Amazon Resource Name (ARN) of the harvest job.

    • CreatedAt (datetime) --

      The date and time when the harvest job was created.

    • ModifiedAt (datetime) --

      The date and time when the harvest job was last modified.

    • Status (string) --

      The current status of the harvest job (e.g., QUEUED, IN_PROGRESS, CANCELLED, COMPLETED, FAILED).

    • ErrorMessage (string) --

      An error message if the harvest job encountered any issues.

    • ETag (string) --

      The current version of the harvest job. Used for concurrency control.

    • Tags (dict) --

      A collection of tags associated with the harvest job.

      • (string) --

        • (string) --