使用 API Gateway 控制台设置 API 集成请求 - Amazon API Gateway
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

使用 API Gateway 控制台设置 API 集成请求

API 方法设置定义该方法并描述其行为。要设置方法,您必须指定一个包含根 (“/”) 的资源以便在其中公开该方法,并指定 HTTP 方法(GETPOST 等)以及该方法如何与目标后端集成。方法请求和响应指定与调用应用程序的协定,其中规定 API 可以接收哪些参数以及响应是什么样子。

以下过程介绍如何使用 API Gateway 控制台来指定方法设置。

  1. 资源窗格中,选择创建方法

  2. 对于方法类型,选择一种 HTTP 方法。

  3. 对于集成类型,从以下选项中选择:

    • 如果您的 API 将与 Lambda 函数集成,则选择 Lambda 函数。在 API 级别,如果您创建非代理集成,则这是 Amazon 集成类型;如果您创建代理集成,则这是 AWS_PROXY 集成类型。

    • 如果您的 API 将与 HTTP 终端节点集成,则选择 HTTP。在 API 级别,这是 HTTP 集成类型。

    • 如果您的 API 将直接与 Amazon 服务集成,则选择 Amazon 服务。在 API 级别,这是 Amazon 集成类型。Lambda 函数选项是用于调用 Lambda 函数的 Amazon 集成的特例。

      设置 API Gateway API 执行以下任一操作:

      • 新建 Lambda 函数。

      • 设置 Lambda 函数的资源权限。

      • 执行任何其它 Lambda 服务操作。

      您必须选择 Amazon 服务

    • 如果您希望 API Gateway 充当您的后端以返回静态响应,则选择模拟。在 API 级别,这是 MOCK 集成类型。通常,如果您的 API 尚未最终确定,但您想生成 API 响应以便不妨碍相关团队进行测试,则可使用 MOCK 集成。对于 OPTION 方法,API Gateway 将 MOCK 集成设置为默认值以便为应用的 API 资源返回支持 CORS 的标头。如果选择此选项,则跳过本主题的其余说明,并参阅在 API Gateway 中设置模拟集成

  4. 如果您选择 Lambda 函数,请执行以下操作:

    1. 要使用 Lambda 代理集成,请开启 Lambda 代理集成。要了解有关 Lambda 代理集成的更多信息,请参阅了解 API Gateway Lambda 代理集成

    2. 对于 Lambda 函数,输入函数 Lambda 的名称。如果您在与您的 API 不同的区域中使用 Lambda 函数,请从下拉菜单中选择该区域并输入 Lambda 函数的名称。如果您使用的是跨账户 Lambda 函数,请输入函数 ARN。

      有关区域名称和标识符的列表,请参阅 Amazon Web Services 一般参考中的 Amazon Lambda

    3. 要使用默认超时值 29 秒,请保持默认超时处于开启状态。要设置自定义超时,请选择默认超时,然后输入一个介于 5029000 毫秒之间的超时值。

    4. 选择创建方法

  5. 如果选择 HTTP,则执行以下操作:

    1. 要使用 HTTP 代理集成,请开启 HTTP 代理集成。要了解有关 HTTP 代理集成的更多信息,请参阅在 API Gateway 中设置 HTTP 代理集成

    2. 对于 HTTP method (HTTP 方法),选择与 HTTP 后端中的方法最匹配的 HTTP 方法类型。

    3. 对于端点 URL,输入您希望此方法使用的 HTTP 后端的 URL。

    4. 对于内容处理,请选择内容处理行为。

    5. 要使用默认超时值 29 秒,请保持默认超时处于开启状态。要设置自定义超时,请选择默认超时,然后输入一个介于 5029000 毫秒之间的超时值。

    6. 选择创建方法

  6. 如果选择 Mock (模拟),则执行以下操作:

    1. 选择创建方法

  7. 如果选择 Amazon 服务,则执行以下操作:

    1. 对于 Amazon 区域,选择您希望此方法用于调用操作的 Amazon 区域。

    2. 对于 Amazon 服务,选择您希望此方法调用的 Amazon 服务。

    3. 对于 Amazon 子域,请输入 Amazon 服务使用的子域。通常,您会将此项保留为空。某些 Amazon 服务可以支持子域作为主机的一部分。有关可用性和详细信息 (如果有),请参阅服务文档。

    4. 对于 HTTP method (HTTP 方法),选择与操作对应的 HTTP 方法类型。对于 HTTP 方法类型,请参阅您为 Amazon 服务选择的 Amazon 服务的 API 参考文档。

    5. 对于操作类型,选择使用操作名称以使用 API 操作,或选择使用路径覆盖以使用自定义资源路径。有关可用的操作和自定义资源路径,请参阅您为 Amazon 服务选择的 Amazon 服务的 API 参考文档。

    6. 输入操作名称路径覆盖

    7. 对于执行角色,输入该方法将用于调用操作的 IAM 角色的 ARN。

      要创建 IAM 角色,您可以调整步骤 1:创建 Amazon 服务代理执行角色中的说明。使用所需数量的操作和资源语句,指定以下格式的访问策略:

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "action-statement" ], "Resource": [ "resource-statement" ] }, ... ] }

      有关操作和资源语句语法,请参阅您为 Amazon 服务选择的 Amazon 服务的文档。

      有关 IAM 角色的信任关系,请指定以下内容,使 API Gateway 代表您的 Amazon 账户采取行动:

      { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "apigateway.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
    8. 要使用默认超时值 29 秒,请保持默认超时处于开启状态。要设置自定义超时,请选择默认超时,然后输入一个介于 5029000 毫秒之间的超时值。

    9. 选择创建方法