2017-02-15 96 views
1

我试图创建从AWS LAMBDAAWS Cognito adminCreateUser从Java脚本SDK

我试着用这个脚本什么似乎采取是为AWS官方JavascriptSDK,但可以在AWS用户群用户让它工作。 http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CognitoIdentityServiceProvider.html#adminCreateUser-property

我不断收到此错误:ypeError:cognitoidentityserviceprovider.adminCreateUser不是一个函数

var cognitoidentityserviceprovider = new AWS.CognitoIdentityServiceProvider({apiVersion: '2016-04-18'}); 

var params = { 
    UserPoolId: 'eu-west-1_XXXXXXXX', /* required */ 
    Username: '[email protected]', /* required */ 
    DesiredDeliveryMediums: [ 
     'EMAIL' 
    ], 
    ForceAliasCreation: false, 
    MessageAction: 'SUPPRESS', 
    TemporaryPassword: 'tempPassword1', 
    UserAttributes: [ 
     { 
      Name: 'email', /* required */ 
      Value: '[email protected]' 
     }, 
     { 
      Name: 'name', /* required */ 
      Value: 'Me' 
     }, 
     { 
      Name: 'last_name', /* required */ 
      Value: 'lastme' 
     } 
     /* more items */ 
    ] 
}; 
cognitoidentityserviceprovider.adminCreateUser(params, function(err, data) { 
    if (err) console.log(err, err.stack); // an error occurred 
    else  console.log(data);   // successful response 
    callback(null, data); 
}); 
+0

在您的示例中分配给的AWS变量是什么?是'const AWS = require('aws-sdk');'?你有这条线和第一条线以外的函数吗?它不应该是功能的一部分。 – doorstuck

回答

0

对于adminCreateUser(你基本上需要AWS SDK,配置凭据,实例的客户端,并调用特定的操作)。

var aws = require('aws-sdk'); 
aws.config.update({accessKeyId: 'akid', secretAccessKey: 'secret'}); 

var CognitoIdentityServiceProvider = aws.CognitoIdentityServiceProvider; 
var client = new CognitoIdentityServiceProvider({ apiVersion: '2016-04-19 
//your code here 

请注意,您可以通过不同的方式配置AWS凭据以调用操作。由于这是经过身份验证的操作,因此您确实需要凭据。其他的管理操作是相似的,你只需要在调用中传递适当的参数作为JSON。

据此,包含adminCreateUser操作的AWS SDK for JavaScript版本2.7.25应可用。

http://docs.aws.amazon.com/lambda/latest/dg/current-supported-versions.html