как использовать оператор in в Dynamodb, используя Python - PullRequest
0 голосов
/ 03 августа 2020

Как мы можем запросить таблицу в DynamoDB с предложением IN, используя Python?

У меня есть таблица пользователей, вот схема [имя пользователя - ключ раздела]:

{
    username:"ABC_15",
    password:"1234",
    company: "15",
     Id    :  ABC
}


Я хочу запросить, например, SQL:

Select * от пользователей, где id in ('AB C', 'XYZ', 'FGH')

и id не является ключом раздела в таблице.

1 Ответ

0 голосов
/ 04 августа 2020

Я использую приведенный ниже код, есть ли другой доступный вариант:

dynamodb = boto3.resource('dynamodb', region_name='ap-southeast-2', endpoint_url="http://localhost:8000")
table = dynamodb.Table('users_setup')
users1 = "ABC,XYZ"
print(users1)
users = users1.split(',')

try:
    response = table.scan(
        
            FilterExpression=Attr('id').is_in(users) 
        
    )
except ClientError as e:
    print(e.response['Error']['Message'])
else:
    items = response['Items']
    print(items)
    print("Scan succeeded:")


...