从本地 React 应用程序进行调用时出现 AWS 信用错误 "Missing credentials in config, if using AWS_CONFIG_FILE, set AWS_SDK_LOAD_CONFIG=1"
AWS creds error when making calls from local react app "Missing credentials in config, if using AWS_CONFIG_FILE, set AWS_SDK_LOAD_CONFIG=1"
我在本地 运行 我的 React 应用程序通过 AWS-SDK 向 AWS 发出 api 请求时出现以下错误:
CredentialsError: Missing credentials in config, if using AWS_CONFIG_FILE, set AWS_SDK_LOAD_CONFIG=1
我试过:
- 我试过了exporting my aws credentials directly
- 我已经在 ~/.aws/credentials 中设置了我的 aws 凭据并且我每天都使用 CLI 没有问题
- 我试过将 ~/.aws 目录复制到我的项目根目录
- 我试过使用 dotenv 和配置文件 as suggested in these replies
我是这样提出请求的:
import AWS from 'aws-sdk';
import { useState, useEffect } from 'react';
const ssm = new AWS.SSM({ region: 'eu-west-1' });
export const useFetchParams = (initialValue) => {
const [result, setResult] = useState(initialValue);
useEffect(() => {
const params = {
Path: '/',
MaxResults: '2',
Recursive: true,
WithDecryption: true
};
ssm.getParametersByPath(params, function (err, data) {
if (err) console.log(err, err.stack);
else setResult(data);
});
}, []);
return result;
};
export default useFetchParams;
如有任何帮助,我们将不胜感激。谢谢。
错误指出缺少凭据,因此这是一个身份验证问题,您可以尝试直接在 SSM 构造函数上设置 accessKeyId
和 secretAccessKey
或 credentials
字段。
因此,只需按原样维护您的代码,只需进行以下更改:
// From
const ssm = new AWS.SSM({ region: 'eu-west-1' });
// To
const ssm = new AWS.SSM({
region: 'eu-west-1',
accessKeyId: 'your-access-key',
secretAccessKey: 'your-secret-key'
});
// Or To
const ssm = new AWS.SSM({
region: 'eu-west-1',
credentials: {
accessKeyId: 'your-access-key',
secretAccessKey: 'your-secret-key'
}
});
我在本地 运行 我的 React 应用程序通过 AWS-SDK 向 AWS 发出 api 请求时出现以下错误:
CredentialsError: Missing credentials in config, if using AWS_CONFIG_FILE, set AWS_SDK_LOAD_CONFIG=1
我试过:
- 我试过了exporting my aws credentials directly
- 我已经在 ~/.aws/credentials 中设置了我的 aws 凭据并且我每天都使用 CLI 没有问题
- 我试过将 ~/.aws 目录复制到我的项目根目录
- 我试过使用 dotenv 和配置文件 as suggested in these replies
我是这样提出请求的:
import AWS from 'aws-sdk';
import { useState, useEffect } from 'react';
const ssm = new AWS.SSM({ region: 'eu-west-1' });
export const useFetchParams = (initialValue) => {
const [result, setResult] = useState(initialValue);
useEffect(() => {
const params = {
Path: '/',
MaxResults: '2',
Recursive: true,
WithDecryption: true
};
ssm.getParametersByPath(params, function (err, data) {
if (err) console.log(err, err.stack);
else setResult(data);
});
}, []);
return result;
};
export default useFetchParams;
如有任何帮助,我们将不胜感激。谢谢。
错误指出缺少凭据,因此这是一个身份验证问题,您可以尝试直接在 SSM 构造函数上设置 accessKeyId
和 secretAccessKey
或 credentials
字段。
因此,只需按原样维护您的代码,只需进行以下更改:
// From
const ssm = new AWS.SSM({ region: 'eu-west-1' });
// To
const ssm = new AWS.SSM({
region: 'eu-west-1',
accessKeyId: 'your-access-key',
secretAccessKey: 'your-secret-key'
});
// Or To
const ssm = new AWS.SSM({
region: 'eu-west-1',
credentials: {
accessKeyId: 'your-access-key',
secretAccessKey: 'your-secret-key'
}
});