Very important!!! You've included a password in your question - I'd strongly recommend that you rotate this.
In terms of why your code is called twice, I would check out CloudWatch logs to see if the first Lambda invocation is ending in success. If a Lambda fails, then it will be called again with the entire batch of records - the same payload. Can you change the insert statement to an upset to make the change idempotent?
Why Records:  is empty when i consume data from kinesis stream by python script?asked 4 months ago
Why i am getting CustomerEndpoint.Address as "anonymous" in amazon connect?asked 3 months ago
How to set the starting position for a Kinesis Delivery Streamasked 17 days ago
DB Log Processing through Kinesis Data streams and Time Series DBasked 7 months ago
Kinesis data stream - data transfer charges for on-premises consumer/producerAccepted Answerasked 4 years ago
Delay in Kinesis video stream builds up over timeasked 6 months ago
Multiple Kinesis Data Analytics apps to use the same Kinesis firehose delivery stream as sourceAccepted Answerasked 2 years ago
Why Kinesis stream calls my Lambda function more than one time?Accepted Answerasked 8 days ago
Kinesis data stream iterator age spikesasked 12 days ago
Kinesis Transformation Buffering from Data StreamAccepted Answerasked 2 months ago