

终止支持通知：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/)。

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

# 向 Elastic Transcoder 发出 HTTP 请求
<a name="making-http-requests"></a>

Elastic Transcoder REST 请求是 HTTPS 请求，如 RFC 2616 所定义的。（欲了解更多信息，请[访问 http://www.ietf。 org/rfc/rfc](http://www.ietf.org/rfc/rfc2616.txt)2616.txt。） 本部分介绍 Elastic Transcoder REST 请求的结构。有关您可以执行的操作的详细说明，请参阅 [管道操作](operations-pipelines.md)、[任务操作](operations-jobs.md) 和 [预设操作](operations-presets.md)。

典型的 REST 操作包括向 Elastic Transcoder 发送一个 HTTPS 请求，以及等待 HTTPS 响应。像任何 HTTP 请求一样，Elastic Transcoder 的 REST 请求包含请求方法、URI、请求标题，有时候包含查询字符串或请求主体。响应包含 HTTP 状态码、响应标题，有时候包含响应主体。

**Topics**
+ [HTTP 标头内容](#http-request-header)
+ [HTTP 请求正文](#http-request-body)
+ [HTTP 响应](#http-response-header)

## HTTP 标头内容
<a name="http-request-header"></a>

Elastic Transcoder 要求在 HTTP 请求标头中包含以下信息：

**Host（必需）**  
Elastic Transcoder 指定资源创建位置的端点。该值必须为指定的区域端点。我们建议您为您的 Amazon S3 存储桶以及 Elastic Transcoder 管道和任务使用相同的端点。如果您使用不同的端点，则包含您的 Amazon S3 存储桶的区域和 Elastic Transcoder 在其中执行编码的区域之间的数据传输会产生额外费用。此外，数据传输所需的时间会延迟对转码文件的访问。  
有关支持的 Elastic Transcoder 端点的列表，请转至 [Amazon Web Services 常规参考](https://docs.aws.amazon.com/general/latest/gr/rande.html#elastictranscoder_region)中的*区域和端点*部分。  
有关跨区域费用的更多信息，请参阅 [Amazon S3 定价](https://aws.amazon.com/s3/pricing/)中的“数据传输定价”。

**x-amz-date 或日期（必填）**  
用于创建包含在 `Authorization` 标头中的签名的日期。采用 ISO 8601 标准格式以 UTC 时间指定日期，如以下示例所示：`X-Amz-Date: 20130613T203622Z`。  
必须包含 `x-amz-date` 或 `Date`。(有些 HTTP 客户端库不允许设置 `Date` 标头。) 当 `x-amz-date` 标头呈现时，系统在验证请求身份时会忽略任何 `Date` 标头。  
当接收请求时，时间戳必须在 AWS 系统时间的 15 分钟内。如果不在此时间范围内，请求将失败，并出现 `RequestExpired` 错误代码，以防止其他人重放您的请求。

**Authorization（必需）**  
请求身份验证所需的信息。有关构建此标头的更多信息，请参阅 [对请求进行签名](signing-requests.md)。

**Content-Type（条件性）**  
指定 JSON 和版本，例如，`Content-Type: application/x-amz-json-1.0`。  
条件：对 POST 请求是必需的。

**Content-Length（条件性）**  
符合 RFC 2616 的消息的长度（不带标头）。  
条件：必需，如果请求主体本身包含信息（大多数工具包自动添加此标题）。

以下示例为创建管道所用的 HTTP 请求的标头。

```
POST /2012-09-25/pipelines HTTP/1.1
host: elastictranscoder.us-east-1.amazonaws.com:443
x-amz-date: 20120116T174952Z
Authorization: AWS4-HMAC-SHA256 Credential=AccessKeyID/20120116/us-east-1/elastictranscoder/aws4_request,SignedHeaders=host;x-amz-date;x-amz-target,Signature=145b1567ab3c50d929412f28f52c45dbf1e63ec5c66023d232a539a4afd11fd9
content-type: application/x-amz-json-1.0
content-length: 231
connection: Keep-Alive
```

## HTTP 请求正文
<a name="http-request-body"></a>

许多 Elastic Transcoder API 操作都要求您在请求正文中包含 JSON 格式的数据。JSON 符合 Elastic Transcoder 架构。

**注意**  
请求正文中的 JSON 值为字符串。

**Example 请求**  
以下示例请求使用简单 JSON 语句创建一个任务，该任务对一个名为 `sample.mp4` 的文件执行转码并将其另存为 `sams-birthday.mp4`。  

```
POST /2012-09-25/jobs HTTP/1.1
Content-Type: application/json; charset=UTF-8
Accept: */*
Host: elastictranscoder.us-east-1.amazonaws.com:443
Content-Length: 300
 
{
   "Input":{
      "Key":"sample.mp4",
      "FrameRate":"auto",
      "Resolution":"auto",
      "AspectRatio":"auto",
      "Interlaced":"auto",
      "Container":"mp4"
   },
   "OutputKeyPrefix":"family-videos/",
   "Outputs":[
      {
         "Key":"sams-birthday.mp4",
         "ThumbnailPattern":"thumbnails/sams-birthday-{count}",
         "Rotate":"0",
         "PresetId":"1351620000000-100080"
      }
   ],
   "PipelineId":"1111111111111-abcde1"
}
```

## HTTP 响应
<a name="http-response-header"></a>

所有 Elastic Transcoder API 操作的响应中都包含 JSON 格式的数据。JSON 符合 Elastic Transcoder 架构。

**注意**  
响应中的 JSON 值是字符串。

以下是 HTTP 响应中的一些重要标头，以及您在应用程序中对其进行处理的方法（如适用）：

**HTTP/1.1**  
此标头后跟状态代码。状态代码 `200` 表示操作成功。有关错误代码的信息，请参阅 [API 错误代码（客户端错误和服务器错误）](error-handling.md#api-error-codes)。  
类型：字符串

**x-amzn-RequestId**  
由 Elastic Transcoder 创建的用于唯一标识您的请求的值，QH8DNOU9例如 K2 07N97 Q9ASUAAJG。FNA2 GDLL8 OBVV4 KQNSO5 AEMVJF66如果您在使用 Elastic Transcoder 时遇到问题，AWS 可以使用这个值来解决问题。我们建议您记录这些值。  
类型：字符串

**内容长度**  
响应正文的长度（以字节为单位）。  
类型：字符串

**日期**  
Elastic Transcoder 响应的日期和时间，例如，`Sun, 25 Mar 2012 12:00:00 GMT`。日期的格式必须是 RFC 2616 第 3.3 节中指定的完整日期格式之一。  
类型：字符串