任务状态通知 - Amazon Elastic Transcoder

通过以下方式节省成本并获得更多功能 AWS Elemental MediaConvert

MediaConvert 是一项较新的基于文件的视频转码服务,它提供了一套全面的高级转码功能,按需费率起价为每分钟 0.0075 美元。阅读更多

已经在使用 Amazon Elastic Transcoder? 迁移到很简单 MediaConvert。有关更多信息,请参阅本概述,其中包含有关迁移过程的重要信息以及指向其他资源的链接。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

任务状态通知

Elastic Transcoder 可在任务状态发生更改时通知您。您可以将 Elastic Transcoder 配置为在状态发生以下更改的任一组合或未更改时向您发送通知:

  • 正在处理:Elastic Transcoder 已开始处理管道中的任务。

  • 已完成:Elastic Transcoder 已处理完管道中的任务。

  • 警告:Elastic Transcoder 在处理管道中的任务时遇到警告情况。

  • 错误:Elastic Transcoder 在处理管道中的任务时遇到错误情况。

Elastic Transcoder 使用亚马逊简单通知服务(亚马逊)发送通知。SNS亚马逊SNS提供多种通知选项,包括向HTTP终端节点、电子邮件地址和亚马逊简单队列服务 (AmazonSQS) 队列发送消息的功能。有关这些和其他选项的更多信息,请参阅《Amazon Simple Notification Service 开发人员指南》https://docs.aws.amazon.com/sns/latest/dg/

通知有助于设计事件驱动型应用程序。如果您使用通知来确定作业何时完成,则可以取消轮询,并且不会遇到轮询有时会导致的Limit Exceeded异常(HTTP状态代码 429)。

您可以在创建或更新管道时配置通知。对于您提交到该管道的每个任务,Elastic Transcoder 都会发送关联通知。

重要

在更改通知时,您的更改会立即生效。除了您在更改通知以后提交的任务外,还会影响您已提交但 Elastic Transcoder 尚未开始处理的任务。

要将 Elastic Transcoder 配置为在您使用 Elastic Transcoder 时通知您任务状态的变化,请执行以下操作:API

  1. 创建一个或多个 Amazon SNS 主题,并订阅每个主题。有关更多信息,请参阅 Amazon Simple Notification Service 文档

    如果您已经有想要使用的 Amazon SNS 主题,则可以跳过此步骤。

  2. 创建一个管道或更新现有管道。对于您想要通知的每项状态更改(正在进行中、已完成、警告、错误),请指定您在步骤 1 中创建的适用的 Amazon SNS 主题。有关更多信息,请参阅 创建管道更新管道更新管道通知

  3. 通过将任务提交到 Elastic Transcoder 来测试 ProgressingComplete 状态通知。

您还可以使用 Elastic Transcoder 控制台配置通知。如果您使用控制台,则可以在创建或更新管道时创建 Amazon SNS 主题。但是,您仍然需要使用 Amazon SNS 控制台API、或CLI来订阅新主题。

当 Elastic Transcoder 向您发送状态变更通知时,通知中返回的消息采用以下格式。JSON请注意,消息包含每个输出的状态以及任务的状态:

{ "state" : "PROGRESSING|COMPLETED|WARNING|ERROR", "errorCode" : "the code of any error that occurred", "messageDetails" : "the notification message you created in Amazon SNS", "version" : "API version that you used to create the job", "jobId" : "value of Job:Id object that Elastic Transcoder returns in the response to a Create Job request", "pipelineId" : "value of PipelineId object in the Create Job request", "input" : { job Input settings }, "outputKeyPrefix" : "prefix for file names in Amazon S3 bucket", "outputs": [ { applicable job Outputs settings, "status" : "Progressing|Complete|Warning|Error" }, {...} ], "playlists": [ { applicable job playlists settings } ], "userMetadata": { "metadata key": "metadata value" } }