递归调用lambda

时间:2017-11-22 01:06:24

标签: amazon-web-services aws-lambda aws-sdk

我正在使用lambdas编写投票系统。有一个lambda用于提交投票,另一个用于汇总总数。这允许很多并发选民,而不需要在每次提交后重新计算总数。

我使用serverless将REST端点发布到AWS API网关。

我试图回避的问题是执行超时限制。 API网关的限制为30秒,对于我的用例来说太低了。

所以我的方法是再次让lambda调用。周围有很多例子,但我不能让我的工作。它总是以{"message":"Forbidden"}

返回

我已尝试lambda.invoke以及使用请求(request.post(endpoint))POST到端点。在这两种情况下,我都会收到相同的错误消息,说它是被禁止的。

这个角色有AWSLambdaFullAccess,所以我很困惑为什么它在AWS内被禁止,但对世界其他地方完全开放。

更新

我将错误的权限应用于该角色:AWSLambdaInvocation-DynamoDB应该是AWSLambdaFullAccess。至少我现在可以使用lambda.invoke

仍不确定REST端点失败的原因。目前没有使用这些端点的身份验证。

无服务器配置没什么用,但现在是。

service: project-name

provider:
  name: aws
  runtime: nodejs6.10
  region: us-west-2
  timeout: 6 # The default is 6 seconds. Note: API Gateway current maximum is 30 seconds
  memorySize: 512
  role: arn:aws:iam::510967681306:role/lambda_basic_execution

functions:
  aggregate:
    handler: handler.aggregate
    events:
      - http:
          path: aggregate
          method: post
          cors: true

0 个答案:

没有答案