终止支持通知:2025 年 11 月 13 日, AWS 我们将停止对亚马逊 Elastic Transcoder 的支持。2025 年 11 月 13 日之后,您将无法再访问 Elastic Transcoder 控制台或 Elastic Transcoder 资源。
有关过渡到的更多信息 AWS Elemental MediaConvert,请访问此博客文章
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
向 Elastic Transcoder 发出 HTTP 请求
Elastic Transcoder REST 请求是 HTTPS 请求,如 RFC 2616 所定义的。(有关更多信息,请访问 http://www.ietf.org/rfc/rfc2616.txt
典型的 REST 操作包括向 Elastic Transcoder 发送一个 HTTPS 请求,以及等待 HTTPS 响应。像任何 HTTP 请求一样,Elastic Transcoder 的 REST 请求包含请求方法、URI、请求标题,有时候包含查询字符串或请求主体。响应包含 HTTP 状态码、响应标题,有时候包含响应主体。
HTTP 标头内容
Elastic Transcoder 要求在 HTTP 请求标头中包含以下信息:
- Host(必需)
-
Elastic Transcoder 指定资源创建位置的端点。该值必须为指定的区域端点。我们建议您为您的 Amazon S3 存储桶以及 Elastic Transcoder 管道和任务使用相同的端点。如果您使用不同的端点,则包含您的 Amazon S3 存储桶的区域和 Elastic Transcoder 在其中执行编码的区域之间的数据传输会产生额外费用。此外,数据传输所需的时间会延迟对转码文件的访问。
有关支持的 Elastic Transcoder 端点的列表,请转至 Amazon Web Services 常规参考中的区域和端点部分。
有关跨区域费用的更多信息,请参阅 Amazon S3 定价
中的“数据传输定价”。 - x-amz-date 或 Date (必需)
-
用于创建包含在
Authorization
标头中的签名的日期。采用 ISO 8601 标准格式以 UTC 时间指定日期,如以下示例所示:X-Amz-Date: 20130613T203622Z
。必须包含
x-amz-date
或Date
。(有些 HTTP 客户端库不允许设置Date
标头。) 当x-amz-date
标头呈现时,系统在验证请求身份时会忽略任何Date
标头。当接收请求时,时间戳必须在 AWS 系统时间的 15 分钟内。如果不在此时间范围内,请求将失败,并出现
RequestExpired
错误代码,以防止其他人重放您的请求。 - Authorization(必需)
-
请求身份验证所需的信息。有关构建此标头的更多信息,请参阅 签名请求。
- 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 请求正文
许多 Elastic Transcoder API 操作都要求您在请求正文中包含 JSON 格式的数据。JSON 符合 Elastic Transcoder 架构。
注意
请求正文中的 JSON 值为字符串。
例 请求
以下示例请求使用简单 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 响应
所有 Elastic Transcoder API 操作的响应中都包含 JSON 格式的数据。JSON 符合 Elastic Transcoder 架构。
注意
响应中的 JSON 值是字符串。
以下是 HTTP 响应中的一些重要标头,以及您在应用程序中对其进行处理的方法(如适用):
- HTTP/1.1
-
此标头后跟状态代码。状态代码
200
表示操作成功。有关错误代码的信息,请参阅 API 错误代码(客户端错误和服务器错误)。类型:字符串
- x-amzn-RequestId
-
Elastic Transcoder 创建的用于唯一标识您的请求的值,例如,K2QH8DNOU907N97FNA2GDLL8OBVV4KQNSO5AEMVJF66Q9ASUAAJG。如果您在使用 Elastic Transcoder 时遇到问题,AWS 可以使用这个值来解决问题。我们建议您记录这些值。
类型:字符串
- 内容长度
-
响应正文的长度(以字节为单位)。
类型:字符串
- 日期
-
Elastic Transcoder 响应的日期和时间,例如,
Sun, 25 Mar 2012 12:00:00 GMT
。日期的格式必须是 RFC 2616 第 3.3 节中指定的完整日期格式之一。类型:字符串