What is @aws-sdk/client-kinesis?
@aws-sdk/client-kinesis is an AWS SDK for JavaScript package that allows developers to interact with Amazon Kinesis, a platform for real-time data streaming. This package provides methods to create, manage, and interact with Kinesis streams, enabling real-time processing of data.
What are @aws-sdk/client-kinesis's main functionalities?
Create Stream
This feature allows you to create a new Kinesis stream. The code sample demonstrates how to create a stream named 'my-stream' with one shard.
const { KinesisClient, CreateStreamCommand } = require('@aws-sdk/client-kinesis');
const client = new KinesisClient({ region: 'us-east-1' });
const command = new CreateStreamCommand({ StreamName: 'my-stream', ShardCount: 1 });
client.send(command).then(
(data) => console.log('Stream created:', data),
(error) => console.error('Error creating stream:', error)
);
Put Record
This feature allows you to put a record into a Kinesis stream. The code sample demonstrates how to put a record with data 'my-data' into the stream 'my-stream' using a partition key.
const { KinesisClient, PutRecordCommand } = require('@aws-sdk/client-kinesis');
const client = new KinesisClient({ region: 'us-east-1' });
const command = new PutRecordCommand({
StreamName: 'my-stream',
Data: Buffer.from('my-data'),
PartitionKey: 'partition-key'
});
client.send(command).then(
(data) => console.log('Record put:', data),
(error) => console.error('Error putting record:', error)
);
Get Records
This feature allows you to get records from a Kinesis stream. The code sample demonstrates how to get records from the shard 'shardId-000000000000' of the stream 'my-stream'.
const { KinesisClient, GetRecordsCommand, GetShardIteratorCommand } = require('@aws-sdk/client-kinesis');
const client = new KinesisClient({ region: 'us-east-1' });
const shardIteratorCommand = new GetShardIteratorCommand({
StreamName: 'my-stream',
ShardId: 'shardId-000000000000',
ShardIteratorType: 'TRIM_HORIZON'
});
client.send(shardIteratorCommand).then(
(shardIteratorData) => {
const getRecordsCommand = new GetRecordsCommand({ ShardIterator: shardIteratorData.ShardIterator });
return client.send(getRecordsCommand);
}
).then(
(recordsData) => console.log('Records:', recordsData.Records),
(error) => console.error('Error getting records:', error)
);
List Streams
This feature allows you to list all Kinesis streams in your account. The code sample demonstrates how to list all streams.
const { KinesisClient, ListStreamsCommand } = require('@aws-sdk/client-kinesis');
const client = new KinesisClient({ region: 'us-east-1' });
const command = new ListStreamsCommand({});
client.send(command).then(
(data) => console.log('Streams:', data.StreamNames),
(error) => console.error('Error listing streams:', error)
);
Other packages similar to @aws-sdk/client-kinesis
kinesis-client
kinesis-client is a lightweight client for interacting with Amazon Kinesis. It provides basic functionalities for creating streams, putting records, and getting records. Compared to @aws-sdk/client-kinesis, it offers a simpler interface but lacks some advanced features and configurations.
aws-kinesis-agg
aws-kinesis-agg is a client library for aggregating and de-aggregating records for Amazon Kinesis. It is particularly useful for optimizing the number of records sent to Kinesis by aggregating multiple records into a single Kinesis record. This package complements @aws-sdk/client-kinesis by providing additional functionality for record aggregation.
kinesis-streams
kinesis-streams is a Node.js library for working with Amazon Kinesis streams. It provides a higher-level abstraction over the Kinesis API, making it easier to work with streams and records. Compared to @aws-sdk/client-kinesis, it offers a more user-friendly API but may not support all low-level operations.