在认知池触发器下拉选择中添加别名 lambda 函数

Raj*_*Raj 2 amazon-web-services amazon-cognito aws-sdk aws-lambda

我创建了一个 lambda 函数,发布了它的一个版本,并将该版本指向一个别名。我的 lambda 函数的 ARN: "ARN - arn:aws:lambda:aws_region:aws_id:function:function_name:product"

因此,在认知池触发器中,我需要将此 lambda 函数分配到“自定义消息”部分,但它是一个下拉列表,用于填充没有任何别名的 lambda 函数。

问题是,如何将 lambda 函数的别名版本从下拉列表分配到认知池触发器中。

Aar*_*don 5

扩展 @alexis-no 答案,您很可能需要授予 cognito 权限才能调用别名 lambda 函数。控制台会自动为您执行此操作。

创建或更新池

create-user-pool
    --pool-name my-pool
    --lambda-config CustomMessage=arn:aws:lambda:aws_region:aws_id:function:function_name:production


update-user-pool
    --user-pool-id <pool-id>
    --lambda-config CustomMessage=arn:aws:lambda:aws_region:aws_id:function:function_name:production
Run Code Online (Sandbox Code Playgroud)

分配 cognito 权限以调用 lambda:

aws lambda add-permission 
--function-name arn:aws:lambda:<lambda-region>:<account>:function:<lambda-name>:<alias-name> 
--source-arn <user-pool-arn> 
--action lambda:* 
--statement-id <your-statement-id-here> 
--principal cognito-idp.amazonaws.com
Run Code Online (Sandbox Code Playgroud)

  • `--action lambda:InvokeFunction` 应该足够了。这就是 Cognito 控制台自动设置的内容。 (2认同)