首页 文章

使用HTTP代理了解AWS API网关

提问于
浏览
0

我是API网关的新手 . 我在EC2服务器上部署了基于python的API . 我可以通过URL http://xxx.xxxxxxx.com/RPC2/访问它 . 我可以看到此URL中的对象,方法 . 我正在尝试使用API网关 .

  • 创建API . (ExampleAPI)

  • 创建了POST方法 . (给定路径http://xxx.xxxxxxx.com/RPC2/作为终点URL) . 我没有创建资源,因为我期待资源的所有方法的HTTP代理 . 当我将我的内容放入请求主体时,它看起来很好 . 我收到回复 .

  • 现在我已将它部署到一个阶段dev1 . 获得了新的 endpoints URL .

  • 还创建了一个API密钥并使用dev1附加它 . 还要在POST方法请求中设置API密钥为true .

问题 . 1.当我点击dev1 URL(https://xxxxxxxxxxx-api.us-east-1.amazonaws.com/dev1)时,它不会给我与http://xxx.xxxxxxx.com/RPC2/相同的页面 . 它给了我{"message":"Missing Authentication Token"}错误 . 我在这里错过了一些基本原理吗?

  • http://xxx.xxxxxxx.com/RPC2/确实有几种方法,所以我该如何使用它?所有这些都是POST方法 . 我可以设置一些参数或一些请求正文或一些模板吗?我该如何改进这个过程?

  • 如何在此处使用API密钥?或者它在POST方法中不起作用?

  • 如果我卷曲-H "Content-Type: application/JSON" -X POST -d "{"方法\ ": " app.menu \ "," params \ ":[] }" https://xxxxxxxxxxx-api.us-east-1.amazonaws.com/dev1我得到的回复与我卷曲http://xxx.xxxxxxx.com/RPC2/相同 . 它是访问我的dev1 URL的唯一方法,或者我可以创建单独的方法或字符串参数 .

问候,Ashish

1 回答

  • 1

    查看发布到this forum的答案:

    当我点击dev1 URL(https://xxxxxxxxxxx-api.us-east-1.amazonaws.com/dev1)时,它不会给我与http://xxx.xxxxxxx.com/RPC2/相同的页面 . 它给了我{“message”:“Missing Authentication Token”}错误 . 我在这里错过了一些基本原理吗?如果您使用GET方法在浏览器中访问URL,则无法使用 . 您必须在希望客户端访问的资源上指定所有HTTP方法 . 如果您点击了未定义的方法,则会收到该消息 . http://xxx.xxxxxxx.com/RPC2/有几种方法,我该如何使用它?所有这些都是POST方法 . 我可以设置一些参数或一些请求正文或一些模板 . 我该如何改进这个过程 . 是,如果要映射到RPC API,则可以在API网关中构建REST方法/资源,并在后端期望RPC操作的任何位置为标头或正文设置静态值 . 我如何在这里使用API密钥?或者它在POST方法中不起作用?因为从curl访问时,它没有API密钥工作正常 . 首先,您应该在方法(方法请求页面)上设置API Key Required,然后您必须将API Stage添加到API Key并确保它已启用 . 毕竟,如果你在一个名为'x-api-key'的 Headers 中发送API密钥,它应该可以工作,否则你应该收到403响应,说“禁止” . 如果我做“卷曲-H”内容类型:application / json“-X POST -d”{\“method \”:\“app.menu \”,\“params \”:[]}“https:/ /xxxxxxxxxxx-api.us-east-1.amazonaws.com/dev1“我的回复与我卷曲http://xxx.xxxxxxx.com/RPC2/相同 . 它是访问我的dev1 URL的唯一方法,或者我可以创建单个方法或字符串参数 . 您必须在API网关中创建每个方法(如GET),并且它们都可以指向相同的后端URL,但在标头或指定的任何位置指定不同的RPC操作 . 我建议您查看有关参数映射和有效负载转换的公共开发人员指南,以了解我们在API Gateway中使用的工具 .

相关问题