繁体   English   中英

无法使用带有浏览器的nod​​ejs 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/' } }

如果这不起作用,请检查您是否使用了正确的访问密钥和秘密密钥。 如果密钥正确,但仍存在问题,请检查以确保正确的密钥策略。

希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM