我已经创建了用户池,并尝试从调用返回更新事件对象的lambda函数的RDS迁移用户。但它对我不起作用。
我已经按照提供的解决方案删除了以下 2 个字段,但仍然不起作用.. :(
"desiredDeliveryMediums": "EMAIL",
"forceAliasCreation": "false"
下面是从 lambda 发送的响应对象。 仍然面临同样的问题 -用户迁移期间出现异常
请让我知道这里缺少什么。提前致谢
def lambda_handler(event, context):
print event
event["response"] = {
"userAttributes": {
"email": event["userName"],
"email_verified": "true",
},
"finalUserStatus": "CONFIRMED",
"messageAction": "SUPPRESS",
"desiredDeliveryMediums": "EMAIL",
"forceAliasCreation": "false"
}
print event
return event
我遇到了这个问题,我通过将分配给 lambda 的内存从默认的 128MB 增加到 1024MB 来克服它。我正在使用cdk进行部署,所以我在lamdba创建中这样做了:
const nodeUserMigration = new NodejsFunction(this, 'myLambdaName', {
entry: path.join(
__dirname,
'userMigration.ts'
),
runtime: Runtime.NODEJS_18_X,
timeout: Duration.minutes(5),
memorySize: 1024, // This is what I added to overcome the `UserNotFoundException: Exception migrating user in app client (redactedClientId)`
environment: {
// redacted environment variables
},
});
而不是
return event
你需要
context.succeed(event)
可能可以直接使用return event
;但是,还需要其他属性才能让Cognito识别它(例如isBase64Encoded
(,我不知道它们可能是什么。 亚马逊也没有任何关于它们的文件。
哦,desiredDeliveryMediums
应该是一个字符串数组。