

终止支持通知：2025 年 11 月 13 日， AWS 我们将停止对亚马逊 Elastic Transcoder 的支持。2025 年 11 月 13 日之后，您将无法再访问 Elastic Transcoder 控制台或 Elastic Transcoder 资源。

有关过渡到的更多信息 AWS Elemental MediaConvert，请访问此[博客文章](https://aws.amazon.com/blogs/media/how-to-migrate-workflows-from-amazon-elastic-transcoder-to-aws-elemental-mediaconvert/)。

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

# 任务状态通知
<a name="notifications"></a>

Elastic Transcoder 可在任务状态发生更改时通知您。您可以将 Elastic Transcoder 配置为在状态发生以下更改的任一组合或未更改时向您发送通知：
+ **正在处理：**Elastic Transcoder 已开始处理管道中的任务。
+ **已完成：**Elastic Transcoder 已处理完管道中的任务。
+ **警告：**Elastic Transcoder 在处理管道中的任务时遇到警告情况。
+ **错误：**Elastic Transcoder 在处理管道中的任务时遇到错误情况。

Elastic Transcoder 使用 Amazon Simple Notiﬁcation Service (Amazon SNS) 发送通知。Amazon SNS 提供了丰富的通知选项，包括向 HTTP 端点、电子邮件地址和 Amazon Simple Queue Service (Amazon SQS) 队列发送消息的功能。有关这些和其他选项的更多信息，请参阅《Amazon Simple Notification Service 开发人员指南》[https://docs.aws.amazon.com/sns/latest/dg/](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 文档](https://aws.amazon.com/documentation/sns/)。

   如果您已有要使用的 Amazon SNS 主题，则可跳过这一步。

1. 创建一个管道或更新现有管道。对于您希望获得通知的每种状态（正在处理、已完成、警告和错误）的更改，请指定您在步骤 1 中创建的适用的 Amazon SNS 主题。有关更多信息，请参阅 [创建管道](create-pipeline.md)、[更新管道](update-pipeline.md) 或 [更新管道通知](update-pipeline-notifications.md)。

1. 通过将任务提交到 Elastic Transcoder 来测试 `Progressing` 和 `Complete` 状态通知。

您还可以使用 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"
   }
}
```