Python DynamoDB不返回扫描值

Python DynamoDB不返回扫描值,python,amazon-web-services,amazon-dynamodb,boto3,dynamodb-queries,Python,Amazon Web Services,Amazon Dynamodb,Boto3,Dynamodb Queries,我正在尝试使用扫描查询我的DynamoDB。但是,每次扫描时,都会出现以下错误: “无法封送响应:二进制(随机字母数字的长字符串)不可JSON序列化” 代码: 另外,当我编码“username”字节(username,“utf-8”)时,代码没有给出错误。但是,它返回的列表是空的 Response: [] 我已经运行了一个查询来检查它是否通过主键获取任何项目,并且返回1,所以我不确定我在这里做错了什么 dynamodb = boto3.resource('dynamodb')

我正在尝试使用扫描查询我的DynamoDB。但是,每次扫描时,都会出现以下错误:

“无法封送响应:二进制(随机字母数字的长字符串)不可JSON序列化”

代码:

另外,当我编码“username”
字节(username,“utf-8”)
时,代码没有给出错误。但是,它返回的列表是空的

Response:
[]
我已经运行了一个查询来检查它是否通过主键获取任何项目,并且返回1,所以我不确定我在这里做错了什么

    dynamodb = boto3.resource('dynamodb')
    table = dynamodb.Table('users')
    response = table.query(
        KeyConditionExpression=Key('username').eq(username)
    )    
    if response["Count"] == 0:
        return False
    else:
        return True

我今天也遇到了同样的问题,并找到了解决办法:

 response = table.scan(
             FilterExpression = Attr("SS_username").eq(username) & Attr("SS_password").eq(password)
         ) 

    if response["Count"] == 0:
        return False
    else:
        return True


或者其他人可以分享的方法

如果发生以下情况,请不要执行
⟨条件⟩: 返回False否则:返回True
:只返回
不返回⟨条件⟩(或在比较中使用互补关系运算符)。
 response = table.scan(
             FilterExpression = Attr("SS_username").eq(username) & Attr("SS_password").eq(password)
         ) 

    if response["Count"] == 0:
        return False
    else:
        return True