2017-10-18 22 views
0

私たちはCognitoユーザープールでユーザーを作成しようとしていますが、かなり奇妙なエラーが続いています。スタックトレースは次のようになります。AWS Cognitoで管理者としてユーザーを作成できません

{ 
    "errorMessage": "Not Found", 
    "errorType": "UnknownError", 
    "stackTrace": [ 
    "Request.extractError (/var/task/node_modules/aws-sdk/lib/protocol/json.js:48:27)", 
    "Request.callListeners (/var/task/node_modules/aws-sdk/lib/sequential_executor.js:105:20)", 
    "Request.emit (/var/task/node_modules/aws-sdk/lib/sequential_executor.js:77:10)", 
    "Request.emit (/var/task/node_modules/aws-sdk/lib/request.js:683:14)", 
    "Request.transition (/var/task/node_modules/aws-sdk/lib/request.js:22:10)", 
    "AcceptorStateMachine.runTo (/var/task/node_modules/aws-sdk/lib/state_machine.js:14:12)", 
    "/var/task/node_modules/aws-sdk/lib/state_machine.js:26:10", 
    "Request.<anonymous> (/var/task/node_modules/aws-sdk/lib/request.js:38:9)", 
    "Request.<anonymous> (/var/task/node_modules/aws-sdk/lib/request.js:685:12)", 
    "Request.callListeners (/var/task/node_modules/aws-sdk/lib/sequential_executor.js:115:18)" 
    ] 
} 

ここではラムダで実行されるコードを示します。ラムダ関数自体は、プロキシ統合なしでAPIゲートウェイによって呼び出されます。我々はadminCreateUser()関数を呼び出すとき

const AWS = require('aws-sdk'); 

AWS.config.update({ 
    region: "ap-south-1", 
    endpoint: "https://dynamodb.ap-south-1.amazonaws.com", 
}); 

const docClient = new AWS.DynamoDB.DocumentClient(); 
const cispClient = new AWS.CognitoIdentityServiceProvider({ 
    region: 'us-east-1' 
}); 

const table = process.env.TABLE_NAME || "User_Info_Test"; 

exports.newDriverCreated = function (event, context) { 

    console.log('event: ', event); 

    // Get username, password 
    const username = event.username; 
    const password = event.password; 

    // Get first and last name 
    const firstName = event.name; 
    const lastName = event.family_name; 

    // Get phone number 
    const phone = event.phone; 

    const driverData = { 
    "TemporaryPassword": password, 
    "UserAttributes": [ 
     { 
     "Name": "phone_number", 
     "Value": phone, 
     }, 
     { 
     "Name": "first_name", 
     "Value": firstName, 
     }, 
     { 
     "Name": "family_name", 
     "Value": lastName, 
     }, 
    ], 
    "Username": username, 
    "UserPoolId": 'user-pool-id', 
    "ValidationData": [ 
     { 
     "Name": "phone_number", 
     "Value": phone 
     } 
    ] 
    } 

    cispClient.adminCreateUser(driverData, (err, data) => { 
    if (err) { 
     console.error('adminCreateUser error: ', err); 
     context.done(err); 
    } else { 
     console.log('adminCreateUser data: ', data); 
     context.done(null, data); 
    } 

    }); 

} 

エラーが発生します。私たちはAWSにとって本当に新しいものであるため、何が間違っているのかということについては全くわかりません。

ご協力いただければ幸いです。

ありがとうございました。

+0

このラムダにはどのような役割がありますか? – Kannaiyan

+0

あなたの地域が「ap-south-1」に設定されているのに対し、「us-east-1」ではcognitoを実行しようとしていますか? – Harrison

答えて

0

cispClientの作成時にエンドポイントに言及してみてください。間違ったエンドポイントが原因で問題になる可能性があります。 thisおよびenter link description hereを参照してください。エンドポイントのリストについては、hereを参照してください。

関連する問題