Загрузка учетных данных JSON с помощью AWS SDK приводит к ошибке
Я пытаюсь загрузить учетные данные для AWS с помощью loadFromPath и получаю неожиданную ошибку. Жесткое кодирование тех же учетных данных с AWS.config.update работает отлично. Чтобы убедиться, что путь и формат файла учетных данных указаны правильно, я загрузил их вместе с fs.readFile, и он загружается правильно, поэтому, похоже, нет проблем с путями / разрешениями. Это кажется супер основным, но я вырывал свои волосы, пытаясь решить. Спасибо за вашу помощь.
Ошибка / вывод:
Here: /home/ec2-user/.ec2/credentials.json
Got this through readFile: { access_id: 'XXXXXXX',
private_key: 'XXXXXXX',
keypair: 'praneethkey',
'key-pair-file': '/home/ec2-user/.ec2/praneethkey.pem',
region: 'us-west-2' }
/home/ec2-user/node_modules/aws-sdk/lib/config.js:221
if (err) throw err;
^
SyntaxError: Unexpected token <
at Object.parse (native)
at /home/ec2-user/node_modules/aws-sdk/lib/metadata_service.js:100:38
at IncomingMessage.<anonymous> (/home/ec2-user/node_modules/aws-sdk/lib/metadata_service.js:75:43)
at IncomingMessage.EventEmitter.emit (events.js:117:20)
at _stream_readable.js:910:16
at process._tickCallback (node.js:415:13)
Код:
'use strict';
var AWS = require('aws-sdk');
var fs = require('fs');
var pathv = process.env.HOME + '/.ec2/credentials.json';
AWS.config.loadFromPath(pathv);
console.log('Here: ' + pathv);
fs.readFile(pathv, 'utf8', function (err, data) {
if (err) {
console.log('Error: ' + err);
return;
}
data = JSON.parse(data);
console.log("Got this through readFile:",data);