【发布时间】:2016-10-14 10:54:53
【问题描述】:
我刚刚开始使用 AWS,我正在尝试使用他们的示例代码 here. 我正在使用 dotenv 将我的密钥存储为环境变量。使用咖啡脚本,我的代码如下所示:
require('dotenv').config()
express = require 'express'
router = express.Router()
AWS = require('aws-sdk')
AWS.config.region = 'us-west-2'
s3bucket = new (AWS.S3)(params: Bucket: 'new-bucket-name')
s3bucket.createBucket ->
params =
Key: process.env.AWS_ACCESS_KEY_ID
Body: 'Hello!'
s3bucket.upload params, (err, data) ->
if err
console.log 'Error uploading data: ', err
else
console.log 'Successfully uploaded data to myBucket/myKey'
return
return
但我不断收到以下错误:
message: 'Missing credentials in config',
code: 'CredentialsError',
errno: 'EHOSTDOWN',
syscall: 'connect',
address: '169.254.169.254',
port: 80,
time: 2016-10-13T14:14:03.605Z,
originalError:
{ message: 'Could not load credentials from any providers',
code: 'CredentialsError',
errno: 'EHOSTDOWN',
syscall: 'connect',
address: '169.254.169.254',
port: 80,
time: 2016-10-13T14:14:03.605Z,
originalError:
{ message: 'Missing credentials in config',
code: 'CredentialsError',
errno: 'EHOSTDOWN',
syscall: 'connect',
address: '169.254.169.254',
port: 80,
time: 2016-10-13T14:14:03.599Z,
originalError: [Object] } } }
我该如何解决这个问题,我是否还需要以某种方式发送我的密钥?
更新: 使用
修复它AWS.config = new AWS.Config();
AWS.config.accessKeyId = "accessKey";
AWS.config.secretAccessKey = "secretKey";
但现在我收到了这个新错误:
message: 'Access Denied',
code: 'AccessDenied',
region: null,
time: 2016-10-13T14:38:19.651Z,
requestId: '958BD7EA261F2DCA',
extendedRequestId: 'xuBSmGL/GC5Tx1osMh9tBFIwXMLy15VtJXniwYVGutTcoBJgrCeOLZpQMlliF1Azrkmj1tsAX7o=',
cfId: undefined,
statusCode: 403,
retryable: false,
retryDelay: 11.225715031927086 }
【问题讨论】:
标签: javascript node.js amazon-web-services amazon-s3 coffeescript