无法使用带有 browserify 的 nodejs aws-sdk 找到 EC2 服务
Cannot find EC2 service using nodejs aws-sdk with browserify
我将 Node.js 与 browserify 一起使用,并且我已经像这样设置了 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/' } }
如果这不起作用,请检查您使用的访问密钥和秘密密钥是否正确。如果密钥正确但您仍然遇到问题,请检查以确保为密钥制定了正确的策略。
希望对您有所帮助。
我将 Node.js 与 browserify 一起使用,并且我已经像这样设置了 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/' } }
如果这不起作用,请检查您使用的访问密钥和秘密密钥是否正确。如果密钥正确但您仍然遇到问题,请检查以确保为密钥制定了正确的策略。
希望对您有所帮助。