@cumulus/cumulus-message-adapter-js

中文文档
2.5.0发布于 2026/09/29Apache-2.0TypeScriptCommonJS近 30 天下载 7713

Cumulus 消息适配器

中文使用文档
文档目录12 节
  1. 库穆卢斯是什么
  2. Cumulus 消息适应器是什么?
  3. 安装
  4. 任务定义
  5. Cumulus 信件适应器接口
  6. 示例 Cumulus 任务
  7. 创建部署软件包
  8. 库穆卢斯部署的使用
  9. 环境变量
  10. 发展
  11. 运行测试
  12. 为什么用这种方法

@cumulus/cumulus-message-adapter-js (英语)

CircleCI npm version

库穆卢斯是什么

Cumulus是一个以云为基础的数据摄取、存档、分发和管理 美国航天局未来地球科学数据流的原型.

读取 Cumulus 文档

Cumulus 消息适应器是什么?

Cumulus 信件适配器是一个库,用于在 使用 Cumulus 任务比较容易使用的格式 Cumulus 协议 任务,然后将其响应调整回 Cumulus 信件协议 将发送给下一个任务.

安装

Cumulus-message-adapter-js可以通过节点套件管理器(NPM)安装,套件定位 这里。 。 。 .

软件包可以通过运行添加到您的工程中 npm install @cumulus/cumulus-message-adapter-js --save。 。 。 .

任务定义

要使用 Cumulus 消息适应器, 您需要创建两个 模块中的方法:处理器函数和业务逻辑函数.

处理器功能是一个标准 Lambda 处理器功能,需要3个 参数(由AWS指定): event, (中文(简体) ), context,以及 callback。 。 。 .

业务逻辑函数是您任务的实际工作发生地 。 这个 应使用两个参数: nestedEvent 财务报告和审定财务报表 context。 。 。 .

这个 nestedEvent 对象包含两个密钥:

  • input - 任务的投入,通常是: payload 电文, 运行时生产
  • config - 任务配置,有模板变量 已解决

这个 context 参数是AWS通过的标准Lambda上下文.

业务逻辑函数的返回值将放在 payload 的 Cumulus 信息.

对输入、配置和返回值的期望均由任务确定, 并且应该有详细记录。 任务应认真考虑其投入 和返回值,因为断开变化可能对任务产生连锁效应 整个工作流程。 配置变化的影响略小,但 必须向使用该任务的人通报.

Cumulus 信件适应器接口

Cumulus 消息适配器用于 Javascript 提供了一种方法: runCumulusTask它需要五个参数:

  • taskFunction - 包含您的业务逻辑的函数(如描述) 上文)
  • cumulusMessage - Lambda通过的事件, 应该是一个Cumulus 消息
  • context - Lambda的背景
  • callback - 蓝巴达的回话
  • schemas - JSON目标与任务计划的位置

这个 schemas JSON应该包含 input:, (中文(简体) ), output:,以及 config: 每个位置都有字符串。 如果不指定 schema 位置, 消息适配器将在 schemas 目录中查找 schemas , 在 root 关卡中查找文件: involution.json, 输出.json, 或 config.json 。 如果不指定或缺少计划,将不进行计划验证.

示例 Cumulus 任务

const cumulusMessageAdapter = require('@cumulus/cumulus-message-adapter-js');

function myBusinessLogic(nestedEvent, context) {
  console.log('Hello, example!');
  return { answer: 42 };
}

// The handler function should rarely, if ever, contain more than this line
function handler(event, context, callback) {
  cumulusMessageAdapter.runCumulusTask(myBusinessLogic, event, context, callback, schemas);
}
exports.handler = handler;

创建部署软件包

使用此库的任务只是标准的AWS Lambda任务. 资料 创建可用的释放软件包 这里。 。 。 .

库穆卢斯部署的使用

关于如何在Cumulus部署中利用这一包的文件,请查看 工作流程调节。 。 。 .

环境变量

此库可使用两个环境变量:

  • CUMULUS_MESSAGE_ADAPTER_DISABLED=true
    • 默认为假. 此 var 禁用 Cumulus 信件适应器 。 这可以用来关闭消息适配器,用于独立修改消息的任务,或者用于测试.
  • CUMULUS_MESSAGE_ADAPTER_DIR
    • Cumulus消息适配器的默认目录是Lambda函数的根目录.

发展

运行测试

要运行此软件包的测试, 请运行 npm run lint && npm test

为什么用这种方法

这种办法有几个主要优点:

  1. 它明确防止任务对数据结构作出假设 喜欢 meta 财务报告和审定财务报表 cumulus_meta 内部所有,因此可能 将在未来更新中中断。 为了进入这些机构的实地, 任务必须在工作流程配置中明确传递数据.
  2. 它为各种数据结构提供了更明确的所有权。 拥有运算符 meta库穆卢斯拥有 cumulus_meta。任务定义自己的 config, (中文(简体) ), input,以及 output 格式.
  3. Cumulus 消息适配器将运行的 Lambda 函数大大简化而非 明确为 Cumulus 创建.
  4. 这种方法大大简化了任务测试,因为任务不需要 设置繁琐的结构来模拟信件协议,并且可以 测试他们的业务功能.

版本与发布记录

@cumulus/cumulus-message-adapter-js 共发布 36 个版本,首次发布于 2018/01/31;过去 12 个月发布了 2 个版本。

版本发布日期距今
2.5.0latest2026/09/291 个月前
2.4.02026/01/139 个月前
2.3.02025/01/271.8 年前
2.2.02024/04/292 年前
2.1.02023/10/053 年前
2.0.52023/05/113 年前

关于 @cumulus/cumulus-message-adapter-js 的常见问题

@cumulus/cumulus-message-adapter-js 是什么?

Cumulus 消息适配器

如何安装 @cumulus/cumulus-message-adapter-js?

在项目目录运行 npm install @cumulus/cumulus-message-adapter-js,或使用 pnpm add / yarn add / bun add。

@cumulus/cumulus-message-adapter-js 支持 TypeScript 吗?

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

@cumulus/cumulus-message-adapter-js 支持 ESM 还是 CommonJS?

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

@cumulus/cumulus-message-adapter-js 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=22.21.1。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@cumulus/cumulus-message-adapter-js 可以商用吗?

@cumulus/cumulus-message-adapter-js 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@cumulus/cumulus-message-adapter-js 的下载量有多少?

根据 npm 官方下载统计,@cumulus/cumulus-message-adapter-js 在 2026/10/11 – 2026/11/09 这 30 天内被下载 7,713 次,日均约 257 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@cumulus/cumulus-message-adapter-js 还在维护吗?

最新版本 2.5.0 发布于 2026/09/29(1 个月前);至今共发布 36 个版本,其中过去 12 个月发布了 2 个;首次发布于 2018/01/31。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。