【发布时间】:2022-10-17 06:28:56
【问题描述】:
我正在尝试从 React js 应用程序内部连接到我的 dynamoDB 表。我在本地设置了 AWS 凭证。当我运行我的应用程序时,我在 Chrome Devtools 上收到以下错误:“错误:凭据丢失”。
奇怪的是,如果我通过终端上的节点使用几乎相同的代码运行下面找到的 AWS 示例,它工作正常。 https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javascriptv3/example_code/dynamodb/src/partiQL_examples/src/partiql_getItem.js
为了运行 AWS 示例,我在我的 react SRC 文件夹中创建了一个新的 mjs 文件,因此它应该具有与 React 应用程序相同的访问权限,对吧?在 mjs 文件或 react 应用程序中没有显式添加凭据。
为什么 React 环境无权访问凭证?我已经尝试了 ~/.aws/credentials 和环境变量。 AWS SDK 似乎说它应该只适用于 Node.js。有什么想法吗?
import { DynamoDBClient, ExecuteStatementCommand} from '@aws-sdk/client-dynamodb';
function App() {
const dynamoDB = new DynamoDBClient({ region : "us-west-2"});
async function loadFromCloud () {
const command = new ExecuteStatementCommand({
Statement: `select * from TableX`
});
try {
const data = await dynamoDB.send(command);
console.log(data);
} catch (error) {
console.log(error);
}
}
【问题讨论】:
-
你能分享你的客户端初始化代码吗?
-
当然,完成。还在用适量分享...
标签: node.js reactjs amazon-dynamodb aws-cli