AWS Athena DynamoDB Connector 是否无法扫描名称中包含大写字母的 DynamoDB 表?

问题描述 投票:0回答:1

我在使用 AWS Athena DynamoDB Connector 时遇到奇怪的行为。 在我看来,连接器不会读取/扫描以大写字母命名的 DynamoDB 表(例如 MY_CARS)。

在这里听我说..

我有 1 个名为“国家/地区”的测试 DynamoDB 表(全部小写),并且我将 Athena DynamoDB 连接器配置为读取和查询该表。到目前为止一切都很好,我可以使用 Athena SQL 查询查询“国家/地区”表。

现在我创建另一个 DynamoDB 表并将其命名为“MY_CARS”(全部大写),当我返回 Athena SQL 查询时,出现以下错误: Athena Error

有人遇到过这个问题吗?您可以看到错误消息使用“my_cars”(小写),而我的表名称为“MY_CARS”,因此无法获取表元数据,因为 DynamoDB 表区分大小写,显然我没有名为“的表” my_cars' 带有小写字母。

我觉得这是 DynamoDB 连接器中的一个错误,但我想看看是否有人遇到或可以确认此行为(或者是否有我可以使用的快速修复)。

amazon-web-services amazon-dynamodb amazon-athena
1个回答
0
投票

问题不是连接器,而是 Athena 的工作方式:

AWS Glue 中数据库名称、表名称和列名称可接受的字符必须是 UTF-8 字符串,并且应为小写。请注意,Athena 在创建数据库、表或列时会自动降低 DDL 查询中的所有大写名称。字符串长度不得小于 1 或大于 255 个字节。

https://docs.aws.amazon.com/athena/latest/ug/tables-databases-columns-names.html#tables-databases-columns-names-requirements

© www.soinside.com 2019 - 2024. All rights reserved.