通过 api 网关调用 api 时,部署操作对此 Web 服务无效

The action deploy is not valid for this web service while calling api through api gateway

我正在使用 API 网关调用 ec2 实例中的 API。当我测试 api 时,我得到以下带有 status:200 的输出。但它应该显示“成功”message.why 它发生了吗?。在执行获取请求时,我是否需要更改任何内容以获得正确的输出。

<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Errors><Error>
<Code>InvalidAction</Code>
<Message>The action deploy is not valid for this web service.</Message>
</Error></Errors>
<RequestID>4c2aeb89-1dfe-4a95-a9fd-7af28b49c708</RequestID>
</Response>

创建 API

所遵循的步骤
  1. 在api网关中创建了restapi如图

  2. 之后,我使用资源和方法添加了 api 端点并连接到 aws ec2 实例,如图所示

  3. 我通过进入IAM角色创建了执行角色arn,并添加了图中所示的所有角色。

  4. 稍后,如果我通过提供查询参数来测试 api 端点,我将收到此错误

您使用 API 作为 EC2 docker 应用程序的代理。它不是“AWS 服务”。您必须选择 setup HTTP integration 类型。如果您正在为实际的 EC2 服务创建 API 代理(例如,启动一个实例、停止一个实例,...),将使用“AWS 服务”。

根据您的 EC2 docker 应用程序的性质,如果您只是设置纯 HTTP (http://未加密(非 HTTPS)连接。所以要注意这一点。如果您的 API 包含敏感信息,这是一个安全问题。