我已经在这里阅读了之前的答案:AWS: specify Lambda version for Cognito trigger,但这已经是几年前的事了,我真的希望有所改变!
我简直不敢相信这是事物的状态。面临将变更部署到我的开发人员和测试Lambda阶段的前景,因为Cognito将始终调用我的lambda的$ LATEST版本,这将中断生产。请说这不是真的!
谢谢
答案 0 :(得分:2)
通过CLI在用户池触发器配置中选择一个lambda,可以复制与$LATEST
相同的行为:需要为触发器配置具有别名语法的lambda arn,并且需要为InvokeFuncion权限添加。
aws lambda add-permission --function-name arn:aws:lambda:_awsregion_:_awsid_:function:_functionname_:_alias_ --statement-id _uuid_ --action lambda:InvokeFunction --principal cognito-idp.amazonaws.com --source-arn arn:aws:cognito-idp:_awsregion_:_awsid_:userpool/_awsregion_id_
aws cognito-idp create-user-pool --user-pool-id _awsregion_id_ --lambda-config CustomEmail=arn:aws:lambda:_awsregion_:_awsid_:function:_functionname_:_alias_
有关完整参考,请参见https://docs.aws.amazon.com/cli/latest/reference/lambda/add-permission.html和https://docs.aws.amazon.com/cli/latest/reference/cognito-idp/create-user-pool.html。