【发布时间】:2021-12-11 00:12:53
【问题描述】:
我正在学习 CloudFoundry,并试图让我的 node.js 应用程序访问我的 AWS S3 服务。我已将我的 AWS S3 服务绑定到应用程序(在manifest.yml,路径applications/services)。在代码中,我可以使用cfenv 获取凭据,但是如何将它们提供给 AWS?
var cfenv = require("cfenv");
var appEnv = cfenv.getAppEnv();
var my_s3_service = appEnv.getService('my-s3-service');
/* my_s3_service.credentials = {
"api_key": "(redacted)",
"bucket": "(redacted)",
"endpoint": "s3-eu-west-1.amazonaws.com",
"location_constraint": "eu-west-1",
"secret_key": "(redacted)",
"uri": "s3://(redacted):(redacted)@s3-eu-west-1.amazonaws.com/(redacted)"
}
var AWS = require('aws-sdk');
AWS.config.update(Uhhh... something with my_s3_service.credentials... but what?);
const s3 = new AWS.S3();
s3.getObject({
Bucket: my_s3_service.credentials,
Key: "my-key.json"
}, (...));
查看AWS SDK for JavaScript - Setting Credentials in Node.js,我看到了几种提供凭据的方法 - 但没有一个以我拥有的凭据对象开头...
【问题讨论】: