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