1

我正在尝试写入我创建的 Timestream 数据库。但是,在此之前,应该说明我的 AWS 账户设置了一个 DEV 账户和一个我的角色切换到的 Prod 账户。

我在 cloudformation 中创建了 Timestream 数据库和表,并将其部署到 DEV 帐户。

然后我去了我的 pycharm 编辑器并编写了一个脚本来将数据摄取到这个表中

但是,我不断收到错误 botocore.errorfactory.ResourceNotFoundException: An error occurred (ResourceNotFoundException) when calling the WriteRecords operation: The table Experiment does not exist。

该表确实存在,我可以在 DEV 账户的 AWS 控制台中验证这一点,并通过在 DEV 账户中调用 timestream-write list-tables cli 调用

我认为 pycharm 编辑器在运行脚本时尝试连接到管理员帐户,但不完全确定。我在我的 pycharm 编辑器中切换到 DEV 帐户,所以也许它可能是别的东西?

我应该补充一点,如果我将 CF 模板部署到主帐户中,然后运行我的脚本,它就可以正常工作。所有数据都导入到在主帐户中创建的数据库和表中。

当我在 DEV 帐户中执行完全相同的步骤时,它就不起作用了

任何帮助,将不胜感激!

4

1 回答 1

0

我在 NodeJs 中使用 AWS-SDK 并遇到了同样的问题(以及 SO 中的这个线程)。

首先,我尝试使用完整(管道)表名(由 SAM 模板提供):

  DatabaseName: 'MyTimeseriesDb-dev',
  TableName: 'MyTimeseriesDb-dev|Measurements',

但是当我将表名更改为没有管道符号的“只是表名”时,它起作用了。

  DatabaseName: 'MyTimeseriesDb-dev',
  TableName: 'Measurements',

我希望这适用于其他在这里徘徊的人。

于 2021-12-18T00:35:22.027 回答