Amazon API Gateway
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

使用 API Gateway 控制台启用二进制支持

本节说明了如何使用 API Gateway 控制台启用二进制支持。例如,我们使用一个与 Amazon S3 集成的 API。我们的任务重点是设置受支持的媒体类型并指定如何处理负载。有关如何创建与 Amazon S3 集成的 API 的详细信息,请参阅 教程:在 API Gateway 中创建 REST API 作为 Amazon S3 代理

使用 API Gateway 控制台启用二进制支持

  1. 设置 API 的二进制媒体类型:

    1. 创建新 API 或选择现有 API。在本例中,我们将 API 命名为 FileMan

    2. 在主导航面板中所选的 API 之下,选择设置

    3. 设置窗格中的 Binary Media Types (二进制媒体类型) 部分,选择 Add Binary Media Type (添加二进制媒体类型)

    4. 在文本输入字段中键入所需的媒体类型,例如 image/png。如果需要,请重复此步骤,添加更多媒体类型。

    5. 选择 Save Changes

      
                                        在 API Gateway 控制台中添加二进制支持。
  2. 设置如何针对 API 方法处理消息负载:

    1. 创建新资源或选择 API 中的现有资源。在本例中,我们使用 /{folder}/{item} 资源。

    2. 对该资源创建新方法或选择一个现有方法。例如,我们使用与 Amazon S3 中的 Object GET 操作集成的 GET /{folder}/{item} 方法。

    3. Content Handling (内容处理) 中,选择一个选项。

      
                                        在 API Gateway 控制台中设置 GET 方法。

      如果不想在客户端和后端接受相同的二进制格式时转换正文,则选择传递。当后端要求将二进制请求负载作为 JSON 属性传入时,选择 Convert to text (if needed) (转换为文本 (如果需要)) 以将二进制正文转换为 Base64 编码的字符串。当客户端提交 Base64 编码的字符串且后端需要原始二进制格式,或者当终端节点返回 Base64 编码的字符串且客户端只接受二进制输出时,选择 Convert to binary (if needed) (转换为二进制 (如果需要))

    4. 在集成请求中保留传入请求的 Accept 标头。如果您已将 contentHandling 设置为 passthrough 并且希望在运行时覆盖该设置,则应执行此操作。

      
                                        在集成请求中保留 Accept 标头。
    5. 对请求正文启用传递行为。

      
                                        对请求正文启用传递行为。
    6. 转换为文本时,请定义映射模板,以将 Base64 编码的二进制数据转换为所需格式。

      
                                            用于转换为文本选项的映射模板。

      此映射模板的格式取决于输入的终端节点要求。