---
title: "createStream | Grafana k6 documentation"
description: "KinesisClient.createStream creates a new Kinesis stream"
---

> For a curated documentation index, see [llms.txt](/llms.txt). For the complete documentation index, see [llms-full.txt](/llms-full.txt).

# createStream

`KinesisClient.createStream(streamName, [options])` creates a new Kinesis stream.

### Parameters

Expand table

| Parameter  | Type   | Description                                     |
|------------|--------|-------------------------------------------------|
| streamName | string | The name of the Kinesis stream to create.       |
| options    | object | Optional configuration for the stream creation. |

#### Options

Expand table

| Parameter                    | Type   | Description                                                           |
|------------------------------|--------|-----------------------------------------------------------------------|
| shardCount                   | number | The number of shards for the stream (for provisioned mode).           |
| streamModeDetails            | object | Configuration for the stream mode.                                    |
| streamModeDetails.streamMode | string | The billing mode for the stream. Either `PROVISIONED` or `ON_DEMAND`. |

### Returns

Expand table

| Type            | Description                                                           |
|-----------------|-----------------------------------------------------------------------|
| `Promise<void>` | A Promise that fulfills when the stream creation request is complete. |

### Example

JavaScript ![Copy code to clipboard](/media/images/icons/icon-copy-small-2.svg) Copy

```javascript
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 () {
  // Create a stream with provisioned billing and 2 shards
  await kinesis.createStream('my-provisioned-stream', {
    shardCount: 2,
  });

  // Create a stream with on-demand billing
  await kinesis.createStream('my-on-demand-stream', {
    streamModeDetails: {
      streamMode: 'ON_DEMAND',
    },
  });
}
```
