更新AWS Cognito用户池LambdaConfig配置CustomEmailSender时报错求助
解决AWS Cognito用户池更新CLI命令错误
错误原因
你把CustomEmailSender和KMSKeyId嵌套在了--lambda-config参数里,但这两个参数不属于LambdaConfig的有效参数范围。LambdaConfig仅包含认证流程相关的触发器(比如PreSignUp、CustomMessage等),所以CLI返回参数不合法的错误。
正确命令格式
把CustomEmailSender和KMSKeyId作为update-user-pool的顶级参数传递即可:
aws cognito-idp update-user-pool \ --user-pool-id ${user-pool-id} \ --custom-email-sender LambdaVersion=V1_0,LambdaArn=${LAMBDA-ARN} \ --kms-key-id ${KMS-ARN}
如果需要同时配置其他Lambda触发器(比如CustomMessage),可以保留--lambda-config参数,和其他顶级参数并行使用:
aws cognito-idp update-user-pool \ --user-pool-id ${user-pool-id} \ --lambda-config "CustomMessage={LambdaArn=arn:aws:lambda:us-east-1:123456789012:function:your-custom-message-lambda}" \ --custom-email-sender LambdaVersion=V1_0,LambdaArn=${LAMBDA-ARN} \ --kms-key-id ${KMS-ARN}
补充说明
--custom-email-sender:指定用于发送自定义邮件的Lambda函数,必须指定LambdaVersion(固定为V1_0)和LambdaArn--kms-key-id:用于加密Cognito存储的敏感数据(包括邮件内容),需确保Cognito有权限使用该KMS密钥
内容的提问来源于stack exchange,提问作者Ashish Kadam
相关产品推荐
相关产品推荐

