AWS API Gateway和EC2服务代理

弗朗西斯科

我正在尝试将JSON字符串发布到API网关,然后让API网关将JSON发送到EC2服务器。

我的问题是我找不到有关如何实现此目标的Amazon的优质文档。

当我测试设置时,我得到了

"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Response><Errors><Error><Code>InvalidHttpRequest</Code><Message>The HTTP request is invalid. Reason: Unable to parse request</Message></Error></Errors><RequestID>1fa47f52-d75c-4ff8-8992-3eac11a79015</RequestID></Response>"

这对我来说意义不大。我认为这是API网关尝试将请求发送到EC2的问题,因此无法生成此错误。因此,也许我在API网关中错误地设置了EC2 AWS服务代理。这可能是因为我不知道现在应该将“ Action”设置为什么,而我却将其指向EC2实例,仅是因为我看不到放置该信息的任何其他地方。

我真的不应该那么难,我已经成功地完成了与Lambda的连接,并仔细阅读了所有文档,而我所能找到的是:http : //docs.aws.amazon.com/apigateway/latest/developerguide/ Getting-started-aws-proxy.html#getting-started-aws-proxy-add-resources

对于这种情况,这没有什么用。有任何想法吗?

塞巴斯蒂安·斯托马克(Sebastien Stormacq)

我认为您混淆了AWS Service Proxy和HTTP Service代理。

API网关可以将API调用转发到不同类型的后端:
-lambda函数
-AWS服务(请参阅http://docs.aws.amazon.com/apigateway/latest/developerguide/integrating-api-with-aws-services- s3.html为例)
-在AWS或本地运行的现有API(您的用例)

定义API时,请确保定义POST动词并将Endpoint URL指向您的EC2实例URL

我刚刚使用http://gurujsonrpc.appspot.com/在线提供的JSON POST服务进行了测试,它可以按预期工作。

这是我的测试API的Swagger导出。

{
  "swagger": "2.0",
  "info": {
    "version": "2016-04-11T20:46:13Z",
    "title": "test"
  },
  "host": "c22wfjg4d7.execute-api.eu-west-1.amazonaws.com",
  "basePath": "/prod",
  "schemes": [
    "https"
  ],
  "paths": {
    "/": {
      "post": {
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "200 response",
            "schema": {
              "$ref": "#/definitions/Empty"
            }
          }
        },
        "x-amazon-apigateway-integration": {
          "responses": {
            "default": {
              "statusCode": "200"
            }
          },
          "uri": "http://gurujsonrpc.appspot.com/guru",
          "httpMethod": "POST",
          "type": "http"
        }
      }
    }
  },
  "definitions": {
    "Empty": {
      "type": "object"
    }
  }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

带有EC2 Api后端的AWS API Gateway

来自分类Dev

仅允许AWS API Gateway访问EC2实例

来自分类Dev

AWS API Gateway and EC2 Service Proxy

来自分类Dev

无法从Front访问Invoke AWS API Gateway Private,但EC2可以工作

来自分类Dev

在AWS Beanstalk或EC2上托管RESTful API服务器的安全性

来自分类Dev

解释AWS服务,ec2和rds

来自分类Dev

带有 EC2 的 AWS API 网关

来自分类Dev

如何为部署在 aws ec2 实例中的 spring boot rest api web 服务创建 IAM 角色

来自分类Dev

使用AWS API Gateway HTTP API设置Lambda代理

来自分类Dev

AWS / Java:如何从AWS Java API获取EC2实例

来自分类Dev

带有AWS WAF的AWS API Gateway

来自分类Dev

错误:DescribeRegions API调用上的InvalidAction(Amazon AWS / EC2 API)

来自分类Dev

错误:DescribeRegions API调用上的InvalidAction(Amazon AWS / EC2 API)

来自分类Dev

Ansible和AWS EC2库存

来自分类Dev

Ansible和AWS EC2库存

来自分类Dev

使用HTTP代理访问AWS API Gateway中的标头?

来自分类Dev

了解带有HTTP代理的AWS API Gateway

来自分类Dev

从AWS API Gateway返回HTML

来自分类Dev

AWS Api Gateway与Dynamo的集成

来自分类Dev

AWS API工具与AWS CLI:ec2-import-instance

来自分类Dev

AWS API GATEWAY - 使用 Swagger 模板导入和导出 API

来自分类Dev

从AWS API Gateway导出API定义

来自分类Dev

使用AWS Api Gateway进行Api合成

来自分类Dev

消耗AWS API Gateway API的问题

来自分类Dev

具有更长ID和刀具EC2服务器的AWS资源创建

来自分类Dev

AWS AMI弃用(API:ec2:RunInstances未经映像授权)

来自分类Dev

在AWS EC2实例中的哪里存储React / Node应用的API密钥?

来自分类Dev

AWS Amplify与在Elastic beantalk中创建的ec2中的rest api对话

来自分类Dev

为AWS ec2计算机上托管的API实现HTTPS的最佳方法

Related 相关文章

热门标签

归档