我正在使用aws-sdk的v3,试图完全遵循reference docs,但无法加载凭据。
const {fromIni} = require("@aws-sdk/credential-provider-ini");
const credentials = fromIni({});..。给出错误:
Unhandled Rejection (Error): Profile default could not be found or parsed in shared credentials file.和:
const {parseKnownFiles} = require("@aws-sdk/credential-provider-ini");
const pkf = parseKnownFiles();..。给出了我认为可能是原因的错误:
TypeError: Cannot read property 'loadedConfig' of undefined如果它找不到一个已知的凭证文件,那么它肯定不会在其中找到默认文件。
然而,我确信凭据就在那里:
PS C:\> aws sts get-caller-identity --profile="default"
{
"UserId": "*********************",
"Account": "************",
"Arn": "arn:aws:iam::************:user/*****"
}如何在aws-sdk v3中加载我的凭据?
发布于 2021-08-10 00:01:03
我也一直在为共享凭证文件而苦苦挣扎。我知道出于安全原因,这不是合适的方式,但如果您受到时间的压力,可以尝试以下示例:
const client = new LexRuntimeV2Client({
region: process.env.REACT_APP_AWS_REGION,
credentials: {
accessKeyId: process.env.REACT_APP_AWS_ACCESS_KEY,
secretAccessKey: process.env.REACT_APP_AWS_SECRET_ACCESS_KEY
},
});在代码片段中,我使用了环境变量和一个特定的客户端(AWS Lex),但是您可以用它们替换您的键、区域和客户端。我不建议硬编码你的密钥,但在开发过程中,这应该是一个临时的解决方案。
https://stackoverflow.com/questions/67766512
复制相似问题