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

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

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

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

  1. Resources 窗格中,选择此方法。

  2. Method Execution 窗格中,选择 Integration Request。对于 Integration type,选择下列选项之一:

    • 如果您的 API 将与 Lambda 函数集成,则选择 Lambda Function。在 API 级别,这是 AWS 集成类型。

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

    • 如果您的 API 将直接与 AWS 服务集成,则选择 AWS Service。在 API 级别,这是 AWS 集成类型。上面的 Lambda Function 选项是调用 Lambda 函数的 AWS 集成的特例,并且仅适用于 API Gateway 控制台。要设置 API Gateway API 以在 AWS Lambda 中创建新的 Lambda 函数、设置 Lambda 函数的资源权限或执行任何其他 Lambda 服务操作,您必须在此处选择 AWS Service 选项。

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

  3. 如果选择 Lambda Function,则执行以下操作:

    1. 对于 Lambda Region,选择与您创建 Lambda 函数的区域对应的区域标识符。例如,如果您在 美国东部(弗吉尼亚北部) 区域中创建 Lambda 函数,则选择 us-east-1。有关区域名称和标识符的列表,请参阅 Amazon Web Services 一般参考中的 AWS Lambda

    2. 对于 Lambda Function,键入 Lambda 函数的名称,然后选择该函数对应的 ARN。

    3. 选择 Save

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

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

    2. 对于 Endpoint URL,键入您希望此方法使用的 HTTP 后端的 URL。

    3. 选择 Save

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

    • 选择 Save

  6. 如果选择 AWS Service,则执行以下操作:

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

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

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

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

    5. 对于 Action,键入您要使用的操作。有关可用操作的列表,请参阅您为 AWS Service 选择的 AWS 服务的 API 参考文档。

    6. 对于 Execution Role,键入该方法将用于调用操作的 IAM 角色的 ARN。

      要创建 IAM 角色,您可以调整创建 Lambda 函数部分的“创建 Lambda 调用角色及其策略”和“创建 Lambda 执行角色及其策略”中的说明。使用所需数量的操作和资源语句,指定以下格式的访问策略:

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

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

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

      { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "apigateway.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
    7. 如果您为 Action 键入的操作提供您希望此方法使用的自定义资源路径,请为 Path Override 键入此自定义资源路径。有关自定义资源路径,请参阅您为 AWS Service 选择的 AWS 服务的 API 参考文档。

    8. 选择 Save