Вы можете использовать API сканирования DynamodB с FilterExpression .
Смотрите примеры ниже:
AWSCLI:
aws dynamodb scan --table-name sample --filter-expression "eventname = :val" --expression-attribute-values '{":val":{"S":"newevent"}}' --region us-west-1
Выход:
{
"Count": 1,
"Items": [
{
"eventname": {
"S": "myname"
},
"id": {
"N": "4"
},
"value": {
"S": "value4"
}
}
],
"ScannedCount": 5,
"ConsumedCapacity": null
}
Boto3 SDK:
import boto3
import json
client = boto3.client('dynamodb', region_name='us-west-1')
response = client.scan(
TableName="sample",
FilterExpression="eventname = :val",
ExpressionAttributeValues={
":val":{
"S":"myname"
}
}
)
print(json.dumps(response, indent=True))
Все приведенные выше примеры вернут все атрибуты. Если вам нужен только определенный атрибут, используйте - проекционное выражение (в awscli) или ProjectionExpression (в SDK).
Я рекомендую вам перейти по ссылкам ниже для большей ясности и настройки:
Документ API сканирования DynamoDB
Работа с запросами DynamoDB