@dazn/lambda-powertools-correlation-ids

中文文档
1.28.1发布于 2020/12/10MITTypeScriptCommonJS零依赖近 30 天下载 11.5万

Module for recording correlation IDs

原始使用文档

lambda-powertools-correlation-ids

A helper module for recording correlation IDs.

Main features:

  • allows you to fetch, update, and delete correlation IDs

  • respects convention for correlation IDs - i.e. x-correlation-

  • Manually enable/disable debug logging (debug-log-enabled) to be picked up by other/downstream middleware

  • allows you to store more than one correlation IDs, which allows you to correlate logs on multiple dimensions (e.g. by x-correlation-user-id, or x-correlation-order-id, etc.)

Getting Started

Install from NPM: npm install @dazn/lambda-powertools-correlation-ids

API

const CorrelationIds = require('@dazn/lambda-powertools-correlation-ids')

// automatically inserts 'x-correlation-' prefix if not provided
CorrelationIds.set('id', '12345678') // records id as x-correlation-id
CorrelationIds.set('x-correlation-username', 'theburningmonk') // records as x-correlation-username

// Manully enable debug logging (debug-log-enabled)
CorrelationIds.debugLoggingEnabled = true

const myCorrelationIds = CorrelationIds.get()
// {
//   'x-correlation-id': '12345678',
//   'x-correlation-username': 'theburningmonk',
//   'debug-log-enabled': 'true'
// }

CorrelationIds.clearAll() // removes all recorded correlation IDs
CorrelationIds.replaceAllWith({  // bypasses the 'x-correlation-' convention
  'debug-log-enabled': 'true',
  'User-Agent': 'jest test'
})

// Disable debug logging
CorrelationIds.debugLoggingEnabled = false

In practice, you're likely to only need set when you want to record correlation IDs from your function.

The middleware, @dazn/lambda-powertools-middleware-correlation-ids, would automatically capture the correlation IDs from the invocation event for supported event sources:

  • API Gateway (via HTTP headers)

  • Kinesis (via the JSON payload)

  • SNS (via message attributes)

  • any invocation event with the special field __context__ (which is how we inject them with the Step Functions and Lambda clients below)

Whilst other power tools would use get to make use of the correlation IDs:

  • @dazn/lambda-powertools-logger includes recorded correlation IDs in logs

  • @dazn/lambda-powertools-http-client includes recorded correlation IDs as HTTP headers when you make a HTTP request

  • @dazn/lambda-powertools-sns-client includes recorded correlation IDs as SNS message attributes when you publish a message to SNS (ie. SNS.publish)

  • @dazn/lambda-powertools-kinesis-client injects recorded correlation IDs as part of the event payload when you publish event(s) to Kinesis (ie. Kinesis.putRecord and Kinesis.putRecords)

  • @dazn/lambda-powertools-step-functions-client injects recorded correlation IDs as part of the payload when you start a Step Functions execution (ie. SFN.startExecution)

  • @dazn/lambda-powertools-lambda-client injects recorded correlation IDs as part of the invocation payload when you invoke a Lambda function directly (ie. Lambda.invoke and Lambda.invokeAsync)

版本与发布记录

@dazn/lambda-powertools-correlation-ids 共发布 7 个版本,首次发布于 2019/07/24;过去 12 个月发布了 0 个版本。

版本发布日期距今
1.28.1latest2020/12/105 年前
1.28.02020/12/105 年前
1.24.12020/06/036 年前
1.24.02020/05/306 年前
1.23.02020/04/076 年前
1.8.22019/07/247 年前

关于 @dazn/lambda-powertools-correlation-ids 的常见问题

@dazn/lambda-powertools-correlation-ids 是什么?

Module for recording correlation IDs

如何安装 @dazn/lambda-powertools-correlation-ids?

在项目目录运行 npm install @dazn/lambda-powertools-correlation-ids,或使用 pnpm add / yarn add / bun add。

@dazn/lambda-powertools-correlation-ids 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@dazn/lambda-powertools-correlation-ids 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@dazn/lambda-powertools-correlation-ids 可以商用吗?

@dazn/lambda-powertools-correlation-ids 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@dazn/lambda-powertools-correlation-ids 的下载量有多少?

根据 npm 官方下载统计,@dazn/lambda-powertools-correlation-ids 在 2026/10/12 – 2026/11/10 这 30 天内被下载 114,766 次,日均约 3,826 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@dazn/lambda-powertools-correlation-ids 还在维护吗?

最新版本 1.28.1 发布于 2020/12/10(5 年前);至今共发布 7 个版本,其中过去 12 个月发布了 0 个;首次发布于 2019/07/24。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。