Pra*_*era 7 amazon-ec2 amazon-web-services node.js
我正在尝试使用loadFromPath加载AWS的凭据并获得意外错误.使用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)
Run Code Online (Sandbox Code Playgroud)
代码:
'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);
Run Code Online (Sandbox Code Playgroud)
alf*_*dev 11
您可以跳过凭据配置,如果您有env vars
AWS_ACCESS_KEY_ID和AWS_SECRET_ACCESS_KEY
AWS SDK将默认读取这些变量
如果您仍想继续从文件加载凭据,请检查credentials.json是否具有有效的JSON.
关于http://aws.amazon.com/sdkfornodejs/ 应该是这样的
{ "accessKeyId": "akid", "secretAccessKey": "secret", "region": "us-west-2" }
Run Code Online (Sandbox Code Playgroud)
好像你有access_id应该是"accessKeyId"而private_key应该是"secretAccessKey"
| 归档时间: |
|
| 查看次数: |
10680 次 |
| 最近记录: |