Я использую sails js
(последняя версия 1.0) с DynamoDB (я установил фреймворк Sails js на свой локальный компьютер), но когда я пытался читать записи из aws dynamodb
, то выдает ошибку.Я пробовал ниже случаи и каждый раз получал разные ошибки.
var AWS = require("aws-sdk");
AWS.config.update({
region: "ap-southeast-2",
endpoint: "http://localhost:1337"
});
var docClient = new AWS.DynamoDB.DocumentClient();
var table = "SMSGateway_User";
var email = 'yoursptc@gmail.com';
var params = {
TableName: table,
Key:{
"userEmail": email
}
};
docClient.get(params, function(err, data) {
if (err) {
console.log("Unable to read item. Error JSON:", JSON.stringify(err, null, 2));
} else {
console.log("GetItem succeeded:", JSON.stringify(data, null, 2));
}
});
Ошибка, которую я получаю:
Невозможно прочитать элемент.Ошибка JSON: {"message": "Отсутствуют учетные данные в конфигурации", "errno": "ETIMEDOUT", "code": "CredentialsError",
"syscall": "connect", "address": "169.254.169.254"," port ": 80,
" time ":" 2018-10-05T05: 05: 26.002Z "," originalError ": {" message ":" Не удалось загрузить учетные данные ни от каких поставщиков "," errno ": "ETIMEDOUT", "code": "CredentialsError", "syscall": "connect", "address": "169.254.169.254", "port": 80, "time": "2018-10-05T05: 05:26.001Z "," originalError ": {" errno ":" ETIMEDOUT "," code ":" ETIMEDOUT "," syscall ":" connect "," address ":" 169.254.169.254 "," port ": 80,"сообщение ":" подключить ETIMEDOUT 169.254.169.254:80 "}}}
Когда я изменился и добавить ниже код для конфигурации:
AWS.config.update({
accessKeyId: 'XXXXXXXXXXXX',
secretAccessKey: 'XXXXXXXXXXXXXXXXXXXXXXXXXXX',
region: "ap-southeast-2",
endpoint: "http://localhost:1337"
});
Тогдаошибка ниже:
Невозможно прочитать элемент.Ошибка JSON: {"message": "Not Found", "code": "UnknownError", "statusCode": 404, "time": "2018-10-05T06: 08: 28.707Z", "retryable": false,«retryDelay»: 47.4917958614573}
Когда я меняю конечную точку и ставлю ARN
AWS.config.update({
accessKeyId: 'XXXXXXXXXXXX',
secretAccessKey: 'XXXXXXXXXXXXXXXXXXXXXXXXXXX',
region: "ap-southeast-2",
endpoint: "arn:aws:dynamodb:ap-southeast-2:420344081058:table/SMSGateway_User"
});
Ошибка:
Невозможно прочитать элемент.Ошибка JSON: {"message": "Недоступный хост: arn'. This service may not be available in the
ap-southeast-2 'region.", "Code": "UnknownEndpoint", "region": "ap-southeast-2",
"hostname":" arn "," retryable ": true," originalError ": {" message ":" getaddrinfo ENOTFOUND arn arn: 443 "," errno ":" ENOTFOUND "," code ":" NetworkingError "," syscall ":"getaddrinfo", "имя хоста": "arn", "host": "arn", "port": 443, "region": "ap-southeast-2", "retryable": true, "time": "2018-10-05T06: 17: 21.352Z "}," время ":" 2018-10-05T06: 17: 21.352Z "}
Может кто-нибудь сказать мне, какой из них является правильной конечной точкой для чтения, создавать, обновлять и удалять данные в DynamoDB.
Я следую по этой ссылке: https://docs.amazonaws.cn/en_us/amazondynamodb/latest/developerguide/GettingStarted.NodeJs.03.html#GettingStarted.NodeJs.03.02
Любая помощь будет оценена.