带数字键的boto3 dynamodb查询

时间:2017-01-20 02:23:06

标签: amazon-dynamodb boto3

我正在尝试对dynamodb进行一个相当简单的查询。当我进入AWS控制台时,我可以使用appid(Number)= 11510设置查询,我得到两个结果(如预期的那样)。

我想要的是能够使用boto3。

import boto3
from boto3.dynamodb.conditions import Key, Attr

dynamodb = boto3.resource('dynamodb', region_name='us-east-1',
                aws_access_key_id='<deleted>',
                aws_secret_access_key='<deleted>')
table = dynamodb.Table('site_logging')
response = table.query(
    KeyConditionExpression=Key('schema_name').eq('<schema>'),
    FilterExpression=Key('appid').eq(11510)
)
print(response)
print('Response items {}'.format(response['Items']))

但这会返回0结果。

如果我将FilterExpression更改为另一个Key,例如Key('appname').eq('call'),我会收到大量回复。所以我的访问应该很好。

有一些“appid”值会返回结果,所以我知道该部分的拼写是正确的: - )。

如果我将.eq(11510)更改为.gt(11510),我会得到结果,但不会得到11510.在我得到的结果中,我可以尝试使用.eq并获得结果。

因此,通常情况似乎有效,但我没有得到我在AWS控制台中看到的结果。

0 个答案:

没有答案