Questions tagged «aws-api-gateway»

Amazon API Gateway是一项完全托管的服务,可让开发人员轻松创建,发布,维护,监控和保护各种规模的API。

17
如何从Amazon API Gateway将查询字符串或路由参数传递到AWS Lambda
例如,如果我们想使用 GET /user?name=bob 要么 GET /user/bob 您如何将这两个示例作为参数传递给Lambda函数? 我在文档中看到了有关设置“映射自”的信息,但是在API Gateway控制台中找不到该设置。 method.request.path.parameter-name代表parameter-name在“方法请求”页面中定义的路径参数。 method.request.querystring.parameter-nameparameter-name表示在“方法请求”页面中定义的查询字符串参数。 即使定义了查询字符串,我也看不到这些选项中的任何一个。


3
API网关与反向代理
为了处理微服务架构,它通常与反向代理(例如nginx或apache httpd)一起使用,并且出于交叉考虑, 使用API​​网关模式。有时反向代理会完成API网关的工作。 很高兴看到这两种方法之间存在明显的差异。看来API网关使用的潜在好处是调用了多个微服务并汇总了结果。API网关的所有其他职责都可以使用反向代理来实现,例如: 身份验证(可以使用nginx LUA脚本来完成); 运输安全。它本身就是反向代理任务; 负载均衡 .... 因此,基于此有几个问题: 同时使用API​​网关和反向代理是否有意义(例如request-> Api网关->反向代理(nginx)->具体的mictoservice)?在什么情况下? 使用API​​网关可以实现的其他区别还有反向代理不能实现的其他区别,反之亦然?

18
API网关CORS:无“ Access-Control-Allow-Origin”标头
尽管已通过API网关设置了CORS并设置了Access-Control-Allow-Origin标头,但尝试从Chrome中的AJAX调用API时,我仍然收到以下错误: XMLHttpRequest无法加载http://XXXXX.execute-api.us-west-2.amazonaws.com/beta/YYYYY。所请求的资源上没有“ Access-Control-Allow-Origin”标头。因此,不允许访问原始“空”。响应的HTTP状态码为403。 我试图通过邮递员获取URL ,它显示上述标题已成功传递: 从选项响应中: 如何在不还原为JSON-P的情况下从浏览器调用API?


3
通过API网关在AWS Lambda中获取JSON正文
我目前正在使用NodeJS通过AWS Api Gateway在AWS lambda上构建机器人,并且遇到POST请求和JSON数据问题。我的api使用“使用Lambda代理集成”,甚至当我测试代理在主体中发送内容类型为Application / json和某些json的代理时,例如{"foo":"bar"},如果不先解析对象就无法访问该对象 例如 var json = JSON.parse(event.body); console.log(json.foo); 现在我知道仅通过JSON.parse运行它似乎没什么大不了的,但是我已经看到了很多其他例子,而事实并非如此。看到这里https://github.com/pinzler/fb-messenger-bot-aws-lambda/blob/master/index.js 是否需要向API网关添加任何内容以正确处理此问题?“发布方法请求”部分中的“请求正文”步骤具有请求正文的application / json设置的内容类型。 就我所知,上述示例的自述文件似乎未使用代理集成,因此我不确定在这里应该做什么

18
访问API网关时缺少身份验证令牌?
我正在尝试通过AWS API Gateway调用Lambda函数。当我提到身份验证类型NONE时,它可以正常工作,但API成为公共的,任何具有url的人都可以访问我的API。为了使API调用安全,我正在使用身份验证类型AWS_IAM,并且还向用户附加了AmazonAPIGatewayInvokeFullAccess策略,但出现此错误: { message: "Missing Authentication Token"} 我不知道我在这里想念的是什么。

17
AWS lambda api网关错误“格式错误的Lambda代理响应”
我正在尝试使用AWS Lambda建立一个hello world示例,并通过api网关为其提供服务。我单击了“创建Lambda函数”,这将设置api通道并选择了Blank Function选项。我添加了在AWS网关入门指南中找到的lambda函数: exports.handler = function(event, context, callback) { callback(null, {"Hello":"World"}); // SUCCESS with message }; 问题是,当我向它发出GET请求时,它返回了502响应{ "message": "Internal server error" }。并且日志显示“由于配置错误,执行失败:Lambda代理响应格式错误”。

20
获取消息:禁止从AWS API网关回复
我正在尝试在AWS上创建lambda服务,并通过API网关从外部访问它,而无需身份验证或限制。 为了使事情变得容易,我现在将网关设置为模拟。 在API的Get方法上,将Authorization设置为None,API Key为not required。 尝试此操作时,我收到{"message":"Forbidden"} (如果我将其连接到实际的lambda服务,则显示相同的消息)。 有关如何使其可访问性的任何建议?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.