A data analytics company leverages Amazon Kinesis to process data from Internet-of-Things (IoT) devices. The development team has observed that the IoT data ingested by Kinesis undergoes periodic spikes. During these spikes, the PutRecords API call sometimes fails, and the logs reveal the following response for the failed call:
HTTP/1.1 200 OK
x-amzn-RequestId:
Content-Type: application/x-amz-json-1.1
Content-Length:
Date:
{
"FailedRecordCount": 2,
"Records": [
{
"SequenceNumber": "49543463076548007577105092703039560359975228518395012686",
"ShardId": "shardId-000000000000"
},
{
"ErrorCode": "ProvisionedThroughputExceededException",
"ErrorMessage": "Rate exceeded for shard shardId-000000000001 in stream exampleStreamName under account 111111111111."
},
{
"ErrorCode": "InternalFailure",
"ErrorMessage": "Internal service failure."
}
]
}
As an AWS Certified Developer Associate, which of the following strategies would you recommend to mitigate this issue? (Select two)