繁体   English   中英

查询 dynamodb 时找不到资源

[英]Resource not found querying dynamodb

我正在尝试访问 DynamoDb 表,但我不断收到“找不到资源”错误。

表定义如下,注意表是Active,Region是Paris (eu-west-3)

在此处输入图像描述

我正在使用的代码:

export class EncuestaComponent implements OnInit {

  [...]
  client: DynamoDBClient = new DynamoDBClient({
    region : 'eu-west-3',
    credentials: {
      accessKeyId: '[REDACTED]',
      secretAccessKey: '[REDACTED]'
    }
  });
  [...]
  onDbClick() {
    const commandParams = {};
    const input: BatchExecuteStatementInput = {
      Statements: [
        {Statement: "SELECT opciones FROM encuesta.encuesta WHERE id = 'user.1'"}
      ],
    }
    const command = new BatchExecuteStatementCommand(input);
    this.client.send(command).
      then(data => console.log(data.Responses![0].Error)).
      catch(error => {console.log("Error"); console.log(error)});
  }

并且,在控制台中,显示then方法已执行,但打印的消息是{Code: 'ResourceNotFound', Message: 'Requested resource not found'}

我究竟做错了什么?

这是可能导致问题的原因。

你能确认一下吗

  1. 您正在使用的 accessKey 是否有权从 DynamoDB 表中读取?
  2. 那个accessKey没有过期还能用吗?

这里有一些可以帮助您测试功能的东西尝试在 ~/.aws/credentials 中添加密钥并运行此命令。

aws dynamodb scan --table-name encuesta.encuesta

并确认它确实显示了表格内容并且没有收到拒绝访问错误。

在 PartiQL for DynamoDB 中,当您select * from something.else,意味着您希望它在名为 something 的表上查询名为 else 的索引 您需要执行以下操作之一:

  • 逃离.
  • 用引号将表名括起来
  • 创建一个具有不同名称的新表

我不在电脑前,否则我会弄清楚它适合你,但这是我要开始的地方。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM