This is documentation for the next version of Grafana k6 documentation. For the latest stable release, go to the latest version.
putRecords
KinesisClient.putRecords(streamName, records) puts multiple records into a Kinesis stream.
Parameters
Records
Each record in the records array should be an object with the following properties:
Returns
Returns object
Record result object
Example
import {
AWSConfig,
KinesisClient,
} from 'https://jslib.k6.io/aws/0.14.0/kinesis.js';
const awsConfig = new AWSConfig({
region: __ENV.AWS_REGION,
accessKeyId: __ENV.AWS_ACCESS_KEY_ID,
secretAccessKey: __ENV.AWS_SECRET_ACCESS_KEY,
});
const kinesis = new KinesisClient(awsConfig);
export default async function () {
const streamName = 'my-test-stream';
// Create records to put into the stream
const records = [
{
data: JSON.stringify({
message: 'Hello from k6!',
timestamp: Date.now(),
userId: 'user123',
}),
partitionKey: 'user123',
},
{
data: JSON.stringify({
message: 'Another message',
timestamp: Date.now(),
userId: 'user456',
}),
partitionKey: 'user456',
},
{
data: JSON.stringify({
message: 'Load test data',
timestamp: Date.now(),
userId: 'user789',
}),
partitionKey: 'user789',
explicitHashKey: '123456789012345678901234567890123456789',
},
];
// Put records into the stream
const result = await kinesis.putRecords(streamName, records);
console.log('Put records result:');
console.log('Failed record count:', result.failedRecordCount);
// Check individual record results
result.records.forEach((record, index) => {
if (record.errorCode) {
console.log(`Record ${index} failed: ${record.errorCode} - ${record.errorMessage}`);
} else {
console.log(
`Record ${index} succeeded: sequence=${record.sequenceNumber}, shard=${record.shardId}`
);
}
});
}

