So, so I have a dynamodb table with a primary partition key column, foo_id and no primary sort key. I have a list of foo_id values, and want to get the observations associated with this list of ids.
I figured the best way to do this (?) is to use batch_get_item(), but it's not working out for me.
# python code
import boto3
client = boto3.client('dynamodb')
# ppk_values = list of `foo_id` values (strings) (< 100 in this example)
x = client.batch_get_item(
RequestItems={
'my_table_name':
{'Keys': [{'foo_id': {'SS': [id for id in ppk_values]}}]}
})
I'm using SS because I'm passing a list of strings (list of foo_id values), but I'm getting:
ClientError: An error occurred (ValidationException) when calling the
BatchGetItem operation: The provided key element does not match the
schema
So I assume that means it's thinking foo_id contains list values instead of string values, which is wrong.
--> Is that interpretation right? What's the best way to batch query for a bunch of primary partition key values?