我正在使用browserify的node.js,我的设置AWS:
var AWS = require('aws-sdk');
AWS.config.region = 'us-west-2b';
这很好。当我打印到控制台时,返回对象。
但是,当我这样做时:
var ec2 = new AWS.EC2();
console.log(ec2);
它找不到EC2。我得到undefined is not a function
。
EC2似乎不存在。所有文档都以这种方式指导我。
尝试此脚本,它对我无问题。
// ec2script.js
var AWS = require('aws-sdk');
AWS.config.region = 'us-east-1';
AWS.config.update({accessKeyId: 'XXXXXXXXXXXXXXXXXXXX', secretAccessKey: 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'});
var ec2 = new AWS.EC2();
console.log('EC2');
console.log(ec2);
只用
执行>node ec2script.js
这是我得到的响应。
EC2
{ config:
{ credentials:
{ expired: false,
expireTime: null,
accessKeyId: 'XXXXXXXXXXXXXXXXXXXX',
sessionToken: undefined },
credentialProvider: { providers: [Object] },
region: 'us-east-1',
logger: null,
apiVersions: {},
apiVersion: null,
endpoint: 'ec2.us-east-1.amazonaws.com',
httpOptions: { timeout: 120000 },
maxRetries: undefined,
maxRedirects: 10,
paramValidation: true,
sslEnabled: true,
s3ForcePathStyle: false,
s3BucketEndpoint: false,
computeChecksums: true,
convertResponseTypes: true,
dynamoDbCrc32: true,
systemClockOffset: 0,
signatureVersion: 'v4' },
isGlobalEndpoint: false,
endpoint:
{ protocol: 'https:',
host: 'ec2.us-east-1.amazonaws.com',
port: 443,
hostname: 'ec2.us-east-1.amazonaws.com',
pathname: '/',
path: '/',
href: 'https://ec2.us-east-1.amazonaws.com/' } }
如果这不起作用,请检查您是否正在使用正确的访问密钥和秘密键。如果密钥正确,并且您仍在遇到问题检查以确保密钥的正确策略。
希望这会有所帮助。