标签: aws-api-gateway

获取消息:来自AWS API网关的禁止回复

[已解决] AWS(和StackOverflow)新手.我正在尝试在AWS上创建一个lambda服务,并通过API网关从外部访问它,无需身份验证或限制.

为了方便起见,我现在将网关设置为模拟.

在API的Get方法上,Authorization设置为None,API Key为not required.

当我尝试这个时,我得到{"message":"Forbidden"} (如果我将它连接到实际的lambda服务,则相同的消息).

有关如何使其可访问的任何建议?谢谢

amazon-web-services aws-api-gateway

43
推荐指数
10
解决办法
6万
查看次数

如何将来自POST的params从Amazon API Gateway传递到AWS Lambda

在此问题中如何从Amazon API Gateway将查询字符串或路由参数传递给AWS Lambda

演示了如何使用API​​网关将查询字符串参数映射到AWS lambda.我想做同样的事情,但映射POST值而不是查询字符串.我试过了:

{
    "values": "$input.params()"
}
Run Code Online (Sandbox Code Playgroud)

但没有工作,我没有看到实际的表格数据.BTW我发帖使用:

application/x-www-form-urlencoded

我得到了我的lambda函数的响应,所以我知道它正在调用lambda,但我的问题是我没有在任何地方看到POST参数.我可以弄清楚如何映射它们.我把所有我在Lambda一侧转移到这里,它是:

 {"values":"{path={}, querystring={}, header={Accept=*/*, Accept-Encoding=gzip, deflate, Accept-Language=en-US,en;q=0.8, Cache-Control=no-cache, CloudFront-Forwarded-Proto=https, CloudFront-Is-Desktop-Viewer=true, CloudFront-Is-Mobile-Viewer=false, CloudFront-Is-SmartTV-Viewer=false, CloudFront-Is-Tablet-Viewer=false, CloudFront-Viewer-Country=US, Content-Type=application/x-www-form-urlencoded, Origin=chrome-extension://fhbjgbiflinjbdggehcddcbncdddomop, Postman-Token=7ba28698-8753-fcb1-1f48-66750ce12ade, Via=1.1 6ba5553fa41dafcdc0e74d152f3a7a75.cloudfront.net (CloudFront), X-Amz-Cf-Id=sc8C7dLcW0BHYopztNYrnddC0hXyFdBzHv0O9aWU1gKhd1D_J2HF3w==, X-Forwarded-For=50.196.93.57, 54.239.140.62, X-Forwarded-Port=443, X-Forwarded-Proto=https}}"}
Run Code Online (Sandbox Code Playgroud)

amazon-web-services aws-lambda aws-api-gateway

42
推荐指数
7
解决办法
4万
查看次数

从API网关自定义授权器返回401缺少"Access-Control-Allow-Origin"标头

为了防止未登录的用户通过AWS API网关调用我的lambda函数,我使用的是Custom Authorizer lambda解决方案.

如果请求被授权(200)并且我从被叫lambda得到响应,一切正常,我得到了Access-Control-Allow-Origin标题.

但是,如果该请求没有被授权,我得到一个401一个没有Access-Control-Allow-Origin头,所以阻止我读响应的401个状态和将用户重定向到登录页面.

我相信这是因为自定义自动化机制不知道请求需要使用CORS.有谁知道这实际上是问题吗?你知道任何可能的解决方案吗?

amazon-web-services cors aws-lambda aws-api-gateway

42
推荐指数
5
解决办法
7935
查看次数

如何通过Amazon API Gateway + Lambda(节点)检索用户的公共IP地址

我正在编写一个Node.js lambda函数,我想在其中记录传入请求者的公共IP地址.我一整天都在查看API网关和Lambda文档,但还没有找到解决方案.

lambda event对象是否包含我可以用来提取用户IP的请求元数据?

amazon-web-services node.js aws-lambda aws-api-gateway

41
推荐指数
3
解决办法
2万
查看次数

在amazon api网关中使用api密钥

我创建了一个api密钥并将其添加到我的函数中.我已经部署了api并测试了它但仍然得到:

"message": "Forbidden"
Run Code Online (Sandbox Code Playgroud)

如何将密钥传递给我的JSON请求,因为我一直在使用"x-api-key":"theKey"?

amazon-web-services amazon-cognito aws-lambda aws-api-gateway

39
推荐指数
8
解决办法
3万
查看次数

区域/边缘优化的API网关VS区域/边缘优化的自定义域名

这对我来说根本没有意义.创建新的API网关时,您可以指定它是区域优化还是边缘优化.但是,再次,当您为API网关创建自定义域名时,您可以在两者之间进行选择.

最糟糕的是,你可以混合搭配!您可以为边缘优化的API网关提供区域自定义域名,这对我来说绝对毫无意义!

为什么这两个可以分别进行区域/边缘优化?我什么时候想让它们中的每一个都进行区域/边缘优化?

amazon-web-services aws-api-gateway

38
推荐指数
1
解决办法
8656
查看次数

如何CNAME到Amazon API Gateway端点

我正在尝试在Cloudflare上设置CNAME以指向Amazon API Gateway端点.CNAME用于引用我的某个子域名时使用.网关反过来指向DigitalOcean上的服务器的IP.我是亚马逊网络服务的新手,如果有人能够概述DNS,亚马逊网关和Cloudfront的正确配置(我认为需要将网关暴露给亚马逊外部的DNS服务器),我将不胜感激.任何帮助将非常感激.

UPDATE

我已经在这方面做了一段时间而没有取得多大进展.有没有人知道这是否是一种可行的方法或者如何做到这一点?

UPDATE2

我以为我需要将CNAME记录添加到cloudFlare并且刚刚进入重定向循环,观察到:

curl -L -i -v https://sub.mydomain.com/
Run Code Online (Sandbox Code Playgroud)

dns amazon-web-services amazon-cloudfront aws-api-gateway

37
推荐指数
3
解决办法
1万
查看次数

aws api gateway&lambda:多个端点/功能与单个端点

我有一个AWS api代理lamba函数.我目前使用不同的端点和单独的lambda函数:

api.com/getData --> getData
api.com/addData --> addData
api.com/signUp --> signUp
Run Code Online (Sandbox Code Playgroud)

管理所有端点和功能的过程变得很麻烦.当我将一个端点用于一个lambda函数时,是否有任何缺点,该函数根据查询字符串决定做什么?

api.com/exec&func=getData --> exec --> if(params.func === 'getData') { ... }
Run Code Online (Sandbox Code Playgroud)

api amazon-web-services aws-lambda aws-api-gateway

36
推荐指数
5
解决办法
2万
查看次数

API网关限制——突发限制与速率限制

我找不到关于这两个术语的任何文档。我仔细研究了 AWS 文档和 Google 结果。

突发限制和速率限制有什么区别?当我去更改 API 上的默认路由限制设置时,只有两个数字输入。它没有说明这些数字代表什么单位或时间范围。是每秒 API 调用次数吗?每分钟?

amazon-web-services aws-api-gateway

35
推荐指数
2
解决办法
3万
查看次数

AWS API网关 - 从URI中删除阶段名称

在部署API时,阶段名称将添加到URL.假设阶段名称为"test",则生成的资源URL包括阶段名称.类似的东西:https: //abcabc.execute-api.us-east-1.amazonaws.com/test/my/path

我想删除URL中的阶段名称.我该怎么做?

aws-api-gateway

33
推荐指数
3
解决办法
8212
查看次数