Aws lambda 无法使用CLI设置AWS cognito触发器

Aws lambda 无法使用CLI设置AWS cognito触发器,aws-lambda,amazon-cognito,aws-cli,amazon-cognito-triggers,Aws Lambda,Amazon Cognito,Aws Cli,Amazon Cognito Triggers,我正在尝试使用AWS-CLI在cognito上为Auth Challenge设置一个lambda触发器,其中包括DefinitAuthChallenge、CreateAuthChallenge、VerifyAuthChallenge等 aws cognito-idp update-user-pool --user-pool-id <> --lambda-config DefineAuthChallenge=<lambda-function-arn>:<

我正在尝试使用AWS-CLI在cognito上为Auth Challenge设置一个lambda触发器,其中包括DefinitAuthChallenge、CreateAuthChallenge、VerifyAuthChallenge等

aws cognito-idp update-user-pool     --user-pool-id <>    --lambda-config DefineAuthChallenge=<lambda-function-arn>:<function_name>:<function_alias>  --lambda-config CreateAuthChallenge=<lambda-function-arn>:<function_name>:<function_alias> --lambda-config VerifyAuthChallengeResponse=<lambda-function-arn>:<function_name>:<function_alias>
aws cognito idp更新用户池--用户池id--lambda config DefineAuthChallenge=:--lambda config CreateAuthChallenge=::--lambda config VerifyAuthChallengeResponse=:: 运行此命令后,只剩下最后一个lambda触发器配置,DefineAuthChallenge、CreateAuthChallenge配置将丢失

请帮助我了解如何使用CLI在Cognito上配置lambda触发器。我无法通过UI执行此操作,因为UI上不显示函数别名。因此,AWS-CLI是我唯一的选择

如中所述,请使用逗号连接多个触发器选项

aws cognito-idp update-user-pool --user-pool-id <> --lambda-config DefineAuthChallenge=<lambda-function-arn>:<function_name>:<function_alias>,CreateAuthChallenge=<lambda-function-arn>:<function_name>:<function_alias>,VerifyAuthChallengeResponse=<lambda-function-arn>:<function_name>:<function_alias>
aws cognito idp更新用户池--用户池id--lambda config DefineAuthChallenge=:,CreateAuthChallenge=:,VerifyAuthChallengeResponse=::
我无法得到@alessio的工作答案。 一次设置一个,但它会清除所有其他设置

这里我们用逗号分隔两个触发器

aws cognito-idp update-user-pool --user-pool-id <pool-id> --lambda-config PreSignUp=arn:aws:lambda:us-east-1:<mynumbers>:function:registerStudent:prod, PreAuthentication=arn:aws:lambda:us-east-1:<mynumbers>:function:validateStudent:prod
aws cognito idp更新用户池--用户池id--lambda配置预签名=arn:aws:lambda:us-east-1::函数:registerStudent:prod,预验证=arn:aws:lambda:us-east-1::函数:validateStudent:prod
我还用双引号将arn字符串包装为相同的响应

这里我们使用JSON

aws cognito-idp update-user-pool --user-pool-id <pool-id> --lambda-config {"PreSignUp":"arn:aws:lambda:us-e
ast- 1:<mynumbers>:function:registerStudent:prod", "PreAuthentication":"arn:aws:lambda:us-east-1:<mynumbers>:function
:validateStudent:prod"}
aws cognito idp更新用户池--用户池id--lambda配置{“PreSignUp”:“arn:aws:lambda:us-e ast-1::函数:寄存器学生:prod”,“预验证”:“arn:aws:lambda:us-east-1::函数 :validateStudent:prod“} 对于这两种尝试,响应几乎相同:

Unknown options: PreAuthentication:arn:aws:lambda:us-east-1:<mynumbers>:function:validateStudent:prod
未知选项:预验证:arn:aws:lambda:us-east-1::函数:validateStudent:prod
唯一的区别是JSON的逗号分隔符与冒号相等

有没有人能用两个触发器让它工作

-安德鲁

这样做:

aws cognito-idp update-user-pool
  --user-pool-id <pool-id>
  --lambda-config
    DefineAuthChallenge=<lambda-function-arn>:<function_name>:<function_alias>,
    CreateAuthChallenge=<lambda-function-arn>:<function_name>:<function_alias>,
    VerifyAuthChallengeResponse=<lambda-function-arn>:<function_name>:<function_alias>
aws cognito idp更新用户池 --用户池id --lambda配置 DefineAuthChallenge=:, CreateAuthChallenge=:, VerifyAuthChallengeResponse=::
如果您对新行有问题,我会尝试这样做,然后在末尾添加\如下:aws cognito idp update user pool \--user pool id \。。。