我无法让adminUpdateUserAttributes使Cognito正常工作。 cli可以正常工作,我可以让用户添加/更改它们不是所希望的,但希望看到它能正常工作。
我正在使用针对Lambda函数的AWS托管策略AmazonCognitoPowerUser,并且lambda正在触发,我是否缺少某些听起来听起来很简单的东西,但它却无法正常工作。
还有一种方法可以在不自行创建的情况下获得默认的创建日期。
const AWS = require('aws-sdk');
const cognitoidentityserviceprovider = new AWS.CognitoIdentityServiceProvider();
exports.handler = async (event) => {
cognitoidentityserviceprovider.adminUpdateUserAttributes(
{
UserAttributes: [
{
Name: 'custom:Date_Created',
Value: new Date().toString()
}
....
],
UserPoolId: " the correctpool id",
Username: "dagTest"
},
function(err, data) {
if (err) console.log(err, err.stack); // an error occurred
else console.log(data);
}
)};
// no errors and returns nothing as it says it should.
答案 0 :(得分:0)
我想这是因为您没有在等待结果,并且lambda在调用adminUpdateUserAttributes()
之后终止,并且dow等到返回之前就不会等待。
我建议您更改为基于Promise的呼叫并尝试/捕获
exports.handler = async (event) => {
try{
// no callback here
const data = await cognitoidentityserviceprovider
.adminUpdateUserAttributes(attributes)
.promise()
console.log('success', data)
} catch(error) {
console.error('error', error)
}
)}