你如何从 NodeJS Lambda 调用 adminInitiateAuth?
How do you call adminInitiateAuth from NodeJS Lambda?
我正尝试按如下方式调用 adminInitiateAuth:
var params = {
AuthFlow: 'ADMIN_NO_SRP_AUTH',
ClientId: 'xxxxxxxxx',
UserPoolId: 'eu-west-1_xxxxxx',
AuthParameters: {
email: email,
password: password
}
};
var cognitoidentityserviceprovider = new AWS.CognitoIdentityServiceProvider({apiVersion: '2016-04-18'});
cognitoidentityserviceprovider.adminInitiateAuth(params, function(err, data) {
if (err) {
console.log(err, err.stack);
} else {
console.log(data);
}
});
但我收到以下错误:
TypeError: cognitoidentityserviceprovider.adminInitiateAuth is not a function
知道我在这里做错了什么吗?以相同方式调用其他函数(如 signUp)也能正常工作!
我也一直在研究这个问题,似乎为 Lambda 函数提供的 NodeJS AWS sdk 是 2.4.9 版,您可以通过 运行:
console.log('SDK Version is ' + AWS.VERSION)
与 adminInitiateAuth 一起发布的版本是 2.4.11 版。我认为亚马逊会很快更新他们的 lambda 机器,但与此同时你可以尝试通过
手动添加新的 sdk
npm install aws-sdk
然后是zipping up your lambda file with the node_modules folder.
如上所述,Lambda 容器中的当前 SDK 版本早于此 API。解决方案是将您需要的 SDK 版本捆绑到您的 Lambda zip 文件中。
对于可靠性很重要的应用程序,您应该在任何情况下明确捆绑所有依赖项。这将您的函数与 Lambda 更新容器中的 API 时引入的行为更改或错误隔离开来。
我正尝试按如下方式调用 adminInitiateAuth:
var params = {
AuthFlow: 'ADMIN_NO_SRP_AUTH',
ClientId: 'xxxxxxxxx',
UserPoolId: 'eu-west-1_xxxxxx',
AuthParameters: {
email: email,
password: password
}
};
var cognitoidentityserviceprovider = new AWS.CognitoIdentityServiceProvider({apiVersion: '2016-04-18'});
cognitoidentityserviceprovider.adminInitiateAuth(params, function(err, data) {
if (err) {
console.log(err, err.stack);
} else {
console.log(data);
}
});
但我收到以下错误:
TypeError: cognitoidentityserviceprovider.adminInitiateAuth is not a function
知道我在这里做错了什么吗?以相同方式调用其他函数(如 signUp)也能正常工作!
我也一直在研究这个问题,似乎为 Lambda 函数提供的 NodeJS AWS sdk 是 2.4.9 版,您可以通过 运行:
console.log('SDK Version is ' + AWS.VERSION)
与 adminInitiateAuth 一起发布的版本是 2.4.11 版。我认为亚马逊会很快更新他们的 lambda 机器,但与此同时你可以尝试通过
手动添加新的 sdknpm install aws-sdk
然后是zipping up your lambda file with the node_modules folder.
如上所述,Lambda 容器中的当前 SDK 版本早于此 API。解决方案是将您需要的 SDK 版本捆绑到您的 Lambda zip 文件中。
对于可靠性很重要的应用程序,您应该在任何情况下明确捆绑所有依赖项。这将您的函数与 Lambda 更新容器中的 API 时引入的行为更改或错误隔离开来。