from __future__ import print_function # Python 2/3 compatibility
import boto3
import json
import decimal#kinesis = boto3.resource('kinesis', region_name='eu-west-1')
client = boto3.client('kinesis')
with open("questions.json") as json_file:questions = json.load(json_file)Records = []count = 0for question in questions:value1 = question['value']if value1 is None:value1 = '0'record = { 'StreamName':'LoadtestKinesis', 'Data':b'question','PartitionKey':'value1' }Records.append(record)count +=1if count == 500:response = client.put_records(Records)Records = []
This is my python script to load a array of json files to kinesis stream where I am combining 500 records to use put_records
function . But I am getting an error: put_records() only accepts keyword arguments
. How do I pass a list of Records to this method? Each record is a json with a partition key .
Sample Json :
[{"air_date": "2004-12-31","answer": "FDDDe","category": "AACC","question": "'No. 2: 1912 Olympian; football star at Carlisle Indian School; 6 MLB seasons with the Reds, Giants & Braves'","round": "DDSSS!","show_number": "233","value": "$200"}]