Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including kinesis-write-stream with all npm packages installed. Try it out:

var kinesisWriteStream = require("kinesis-write-stream")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

kinesis-write-stream v1.1.1

Kinesis writable stream that buffers up records

kinesis-write-stream

Kinesis writable stream that buffers up records

build status modules status

npm badge

Usage

Records written to the stream will buffer up until highWaterMark has been reached, or the stream is closed, before writing to Kinesis using putRecords.

Failed items

Failed items will be retried up until options.maxRetries has been reached. The initial timeout before the retry is set in options.retryTimeout and it increases by the fibonnaci sequence.

Partition key

The partition key is by default a random number, but this can be adjusted by overriding streamInstance.getPartitionKey(record).

Flushing

Its also possible to send in the option flushTimeout to indicate that the items currently in the buffer should be flushed after the given amount of milliseconds if the highWaterMark haven't been reached.

Logging

A bunyan, winston or similar logger instance that have methods like debug, error and info may be sent in as options.logger to the constructor.

Example

var KinesisWritable = require('kinesis-write-stream');

var stream = new KinesisWritable(kinesisClient, 'streamName', {
  highWaterMark: 16,
  maxRetries: 3,
  retryTimeout: 100
});

inputStream.pipe(stream);

API

See api.md.

License

MIT

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free