A fleet of 80,000 IoT devices sends telemetry to an Amazon Kinesis Data Stream. The producer currently uses deviceType as the partition key. During peak traffic, CloudWatch shows WriteProvisionedThroughputExceeded errors on a small number of shards, while most shards have low utilization. The application must preserve ordering per device, but it does not require ordering across devices.
Which change best addresses the ingestion bottleneck while preserving the required ordering?