Я пытаюсь запросить свой DynamoDB с помощью сканирования. Однако каждый раз, когда я его сканирую, я получаю следующую ошибку:
"Невозможно упорядочить ответ: двоичный (b` long_string_of_random_alphanumerics) не сериализуемый JSON"
Код:
def login(username, password):
dynamodb = boto3.resource('dynamodb')
table = dynamodb.Table('users')
response = table.scan(
FilterExpression=Key('username').eq(username)
)
items = response["Items"]
return items
Кроме того, код не выдает ошибку, когда я кодирую «имя пользователя» bytes(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