1.29.9 • Published 2 years ago

@buyerassist/dazn-lambda-powertools-firehose-client v1.29.9

Weekly downloads
-
License
MIT
Repository
-
Last release
2 years ago

lambda-powertools-firehose-client

Firehose client wrapper that knows how to forward correlation IDs (captured via @buyerassist/dazn-lambda-powertools-correlation-ids).

Main features:

  • auto-injects correlation IDs into Firehose records when you call putRecord or putRecordBatch (only JSON payloads are supported currently)

  • direct replacement for AWS.Firehose client

Getting Started

Install from NPM: npm install @buyerassist/dazn-lambda-powertools-firehose-client

API

It's exactly the same as the Kinesis client from the AWS SDK.

const Firehose = require("@buyerassist/dazn-lambda-powertools-firehose-client");

const publishEvent = async () => {
  const putRecordReq = {
    DeliveryStreamName: "lambda-powertools-demo",
    PartitionKey: uuid(),
    Data: JSON.stringify({ message: "hello firehose" }),
  };

  await Firehose.putRecord(putRecordReq).promise();
};

const publishEvents = async () => {
  const putRecordBatchReq = {
    DeliveryStreamName: "lambda-powertools-demo",
    Records: [
      {
        PartitionKey: uuid(),
        Data: JSON.stringify({ message: "hello kinesis" }),
      },
      {
        PartitionKey: uuid(),
        Data: JSON.stringify({ message: "hello lambda-powertools" }),
      },
    ],
  };

  await Firehose.putRecordBatch(putRecordBatchReq).promise();
};