2017-02-15 94 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