3

我在我的代码中访问 AWS sdk 及其服务:

var aws = require('aws-sdk');
const s3 = new aws.S3();

我想看看初始化 S3 对象时获取的凭据是什么。我尝试了以下方法,显然我无法从文档中弄清楚如何正确使用方法和类。

var credo = aws.config.Credentials().get();
var credo = aws.config.Credentials;
var credo = aws.config.credentials;
var credo = aws.Credentials().get();
var credo = aws.Credentials();
var credo = aws.Credentials;

有人能告诉我获取这些数据的正确方法吗?对于这部分,我没有找到易于理解的 aws 文档。

编辑:我可以使用更新代码中的凭据aws.config.update({accessKeyId: 'xxx', secretAccessKey: 'yyy', sessionToken:'zzz'

当我不这样设置它们时,我想看看这些值是什么。未设置进程环境变量。我已正确设置凭据文件。

4

3 回答 3

7

您可以从中获取全局配置的凭据aws.config.credentials

获取 accessKeyId:

var accessKeyId = aws.config.credentials.accessKeyId;

获取 secretAccessKey:

var secretAccessKey = aws.config.credentials.secretAccessKey;
于 2017-05-16T14:44:21.043 回答
0

您想查看 Nodes 环境变量。

您可以通过以下方式访问所有环境变量process.env

具体来说,你想要这个:

console.log(AWS_SECRET_ACCESS_KEY);
console.log(process.env.AWS_ACCESS_KEY_ID);
于 2017-05-16T04:04:36.493 回答
0

对于现代 NodeJS,推荐的方法是使用等待:

var AWS = require('aws-sdk');

async function main() {
  AWS.config.credentials = new AWS.TemporaryCredentials();
  // retrieves credentials according to configuration precedence
  // https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/setting-credentials-node.html
  // updates credentials if expired
  await AWS.config.credentials.getPromise()
  // after we ensured that credentials are ready we use them
  const accessKeyId = AWS.config.credentials.accessKeyId;
  const secretAccessKey = AWS.config.credentials.secretAccessKey;
  const sessionToken = AWS.config.credentials.sessionToken;
}
于 2021-01-15T08:12:58.510 回答