AWS:为 Cognito 触发器指定 Lambda 版本

AWS: specify Lambda version for Cognito trigger

我有一个 Cognito 用户池和相应的身份池。

我想在 Post authentication 或其他类似触发器上调用特定版本的 Lambda 函数。

尽管示例都有版本号,但我没有在控制台中看到指定版本代码的选项。

http://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html

{
    "version": number,
    "triggerSource": "string",
    "region": AWSRegion,
    "userPoolId": "string",
    ...
}

如何指定 lambda 函数的版本?

Cognito,始终使用最新版本或 lambda 提供的任何默认版本。

您在文档中提到的版本是事件版本号。如果将来 Cognito 对请求的格式进行重大更改,您可以通过检查此版本号来保护您的代码免遭破坏。

实际上,可以使用包含别名的 Lambda arn 使用 AWS CLI 更新用户池触发器配置,例如

aws cognito-idp update-user-pool --user-pool-id _awsregion_id_ --lambda-config PostAuthentication=arn:aws:lambda:_awsregion_:_awsid_:function:_functionname_:_alias_