Kir*_*rst 2 python amazon-dynamodb boto3
我正在使用boto3从DynamoDB数据库中选择数据
dynamodb = boto3.resource('dynamodb')
table = dynamodb.Table(table_name)
response = table.scan(ProjectionExpression='Id,Name')['Items']
Run Code Online (Sandbox Code Playgroud)
工作正常。现在,我也想检索一个属性(不幸的是)使用保留字命名-假设CONNECTION。
response = table.scan(ProjectionExpression='Id,Name,Connection')['Items']
Run Code Online (Sandbox Code Playgroud)
我收到类似的错误
调用扫描操作时发生错误(ValidationException):无效的ProjectionExpression:属性名称是保留的关键字;保留关键字:连接
我知道是否有使用过滤器或查询的别名技术,但这是否存在于来自boto3的简单投影中?
事实证明,这与直接调用DynamoDB API时一样容易解决。
我们应该为任何保留字使用别名,然后使用ExpressionAttributeName参数/属性提供从别名到'true'名称的映射。
response = table.scan(ProjectionExpression = 'Id, Name, #c',
ExpressionAttributeNames = {'#c': 'Connection'})['Items']
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2132 次 |
| 最近记录: |