Мне нужно сделать запрос через созданную таблицу в DynamodB - PullRequest
0 голосов
/ 07 октября 2019

Я пытаюсь ответить на этот деловой вопрос. Тем не менее, мне не удалось запросить результаты. Вопрос заключается в том, чтобы запросить имя и адрес всех предприятий, расположенных в Меса, штат Аризона, которые имеют GoodForKids = True (в разделе атрибутов). Подсказка: используйте ProjectionExpression, чтобы получить подмножество атрибутов.

Этот код я уже пробовал.

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


dynamodb = boto3.resource('dynamodb', region_name='us-east-1')
table = dynamodb.Table('laureates')


resp = table.scan(FilterExpression='(city = :country1) AND ' +
        '(attributes[0].GoodForKids = (:category1)',
        ExpressionAttributeValues={
          ":country1": 'Mesa',
          ':category1': 'True'
        })


for item in resp['Items']:
    print(item)
print("\nThe query returned %d items." %resp['Count'])

Это копия Предмета в загруженном файле Json

[{"business_id":"1SWheh84yJXfytovILXOAQ",
"name":"Arizona Biltmore Golf Club",
"address":"2818 E Camino Acequia Drive",
"city":"Phoenix",
"state":"AZ",
"postal_code":"85016",
"latitude":33.5221425,
"longitude":-112.0184807,
"stars":3.0,
"review_count":5,
"is_open":0,
"attributes":{"GoodForKids":"False"},
"categories":"Golf,
 Active Life",
"hours":null}]
...