2

我已经获得了一点javascript,它可以在本地机器上运行,但在Lambda中不起作用。调用cognitoidentity.getOpenIdTokenForDeveloperIdentityAWS Lambda无法调用Cognito标识 - IAM角色

{ 
    "errorMessage": "2016-03-17T16:50:25.181Z 4fa3fa5a-ec60-11e5-8316-415fa39313da Task timed out after 15.00 seconds" 
} 

在当地正常工作时(调用到AWS生产服务)

它超时所以它必须是我已经连接到LAMBDA政策。

这里是我的策略:

AmazonCognitoDeveloperAuthenticatedIdentities

AWSLambdaVPCAccessExecutionRole

这是自定义一个我也有:

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
     { 
      "Effect": "Allow", 
      "Action": [ 
       "mobileanalytics:PutEvents", 
       "cognito-sync:*" 
      ], 
      "Resource": [ 
       "*" 
      ] 
     }, 
     { 
      "Effect": "Allow", 
      "Action": [ 
       "lambda:InvokeFunction" 
      ], 
      "Resource": [ 
       "arn:aws:lambda:eu-west-1:myaccountid:function:users_login" 
      ] 
     } 
    ] 
} 

拉姆达ARN是复制直接从该Lambda屏幕。任何想法缺少什么?

回答

1

那一定是我重视

没有政策,如果这是你会得到一个权限被拒绝的错误,不超时的情况。

看起来您的Lambda函数具有VPC访问权限。您需要为您的VPC配置NAT网关,以便Lambda功能访问VPC之外的任何内容,包括Cognito等AWS服务。

+0

对啊!我会试试 –

+0

你做了什么来修复它的例子? – NeoPix

相关问题