首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在ProjectionExpression中使用保留字和Boto3的DynamoDB

在ProjectionExpression中使用保留字和Boto3的DynamoDB
EN

Stack Overflow用户
提问于 2018-10-25 17:17:57
回答 1查看 22.9K关注 0票数 31

我正在使用DynamoDB从boto3数据库中选择数据

代码语言:javascript
复制
dynamodb = boto3.resource('dynamodb')
table = dynamodb.Table(table_name)
response = table.scan(ProjectionExpression='Id,Name')['Items']

效果很好。现在,我还想检索一个属性,这个属性(不幸地)是用一个保留字命名的--假设是CONNECTION

代码语言:javascript
复制
response = table.scan(ProjectionExpression='Id,Name,Connection')['Items']

我遇到了一个错误

调用扫描操作时发生错误(ValidationException):无效的ProjectionExpression:属性名称是保留关键字;保留关键字:连接

我知道如果使用过滤器或查询,就会有一种混叠技术,但对于boto3的简单投影,存在这种技术吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-25 19:08:41

结果发现,这与直接调用DynamoDB API时一样容易解决。

对于任何保留字,我们都应该使用别名,然后用ExpressionAttributeName参数/属性提供从别名返回到“真”名称的映射。

代码语言:javascript
复制
response = table.scan(ProjectionExpression = 'Id, Name, #c',
                      ExpressionAttributeNames = {'#c': 'Connection'})['Items']
票数 80
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52994822

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档