私はこの単純なラムダ関数を使用して、私の個人的なユーザーテーブルにユーザーオブジェクトを作成します。テストをクリックするとnullが返されます。しかし、私はエラーが何であるか分かりませんか? lambdaを使ってdynamoDBにオブジェクトを作成する方法は?
var AWS = require('aws-sdk');
var dynamoDBConfiguration =
{
"accessKeyId": "###",
"secretAccessKey": "###",
"region": "MY_REGION"
};
AWS.config.update(dynamoDBConfiguration);
//var dynamodb = new AWS.DynamoDB();
var dynamodb = new AWS.DynamoDB.DocumentClient();
exports.handler = function(event, context)
{
console.log('stageA');
console.log(JSON.stringify(event, null, ' '));
var responseCode = 200;
var userTableName = "usersTable";
var requestBody = event.body;
var pathParams = event.path;
var httpMethod = event.httpMethod; // HTTP Method (e.g., POST, GET, HEAD)
//User parameters
var displayName;
var email;
var fbUserID;
var firstName;
var folders;
var lastName;
var origin;
var profileImageRef;
var level;
var username;
var birthdate;
var experience;
var folder;
var params;
console.log('create by email action');
requestBody = JSON.parse(requestBody);
//Set variables
firstName = requestBody.firstName;
lastName = requestBody.lastName;
email = requestBody.email;
username = requestBody.username;
experience = "0";
birthdate = requestBody.birthdate;
params = {
TableName:userTableName,
Item:{
"displayName": username,
"email": email,
"firstName": firstName,
"folderNames": {
"My Cards": {"name": "My Cards"}
},
"lastName": lastName,
"experience": experience,
"username": username,
"birthdate": birthdate
}
};
dynamodb.put(params, function(err, data)
{ if (err) {
console.log(err);
context.done(err);
} else {
var response =
{
statusCode: responseCode,
headers:
{
"x-custom-header" : "custom header value"
},
body: JSON.stringify(username)
};
console.log('great success: %j',data);
context.succeed(response);
}
});
};
そして、私のリクエストボディ内
は私が持っている:私はAPIゲートウェイエンドポイントを通じて呼び出すコードを実行してみましたし、それがうまく働いた{
"email":"[email protected]",
"birthdate" : "1/1/1990",
"firstName" : "Tom",
"lastName" : "Sir",
"username" : "Archer"
}
ラムダ関数に資格情報を入れる必要はありません。単に役割を機能に割り当てるだけで、権限は自動的に継承されます。 –
ログをいくつか追加します。 try/catchブロックをいくつか追加します。あなたの質問にログ出力を含めてください。 –