# @cumulus/cumulus-message-adapter-js 中文文档

规范地址：https://npmcn.com/package/%40cumulus/cumulus-message-adapter-js/

版本：2\.5\.0
npm 元数据更新时间：2026-09-29T15:21:42.554Z
中文译文更新时间：2026-11-11T04:40:52.617Z
软件包许可：Apache-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40cumulus/cumulus-message-adapter-js
原文对照：https://npmcn.com/package/%40cumulus/cumulus-message-adapter-js/?lang=original
项目主页：https://github.com/nasa/cumulus-message-adapter-js#readme
源码仓库：https://github.com/nasa/cumulus-message-adapter-js

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：51.4 kB，23 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- Node.js 要求：\>=22\.21\.1
- 运行依赖：4 个
- 首次发布：2018-01-31T14:33:07.810Z
- 最新版本发布：2026-09-29T15:21:42.001Z
- 近 30 天下载量：7713（2026-10-11 至 2026-11-09，npm 官方下载统计）
- 已发布版本数：36（近 12 个月 2 个）

## 中文简介

Cumulus 消息适配器

## 安装

```sh
npm install @cumulus/cumulus-message-adapter-js
```

也可以使用：`pnpm add @cumulus/cumulus-message-adapter-js`、`yarn add @cumulus/cumulus-message-adapter-js`、`bun add @cumulus/cumulus-message-adapter-js`

## README

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

[![CircleCI](https://circleci.com/gh/nasa/cumulus-message-adapter-js.svg?style=svg)](https://circleci.com/gh/nasa/cumulus-message-adapter-js) [![npm version](https://badge.fury.io/js/%40cumulus%2Fcumulus-message-adapter-js.svg)](https://badge.fury.io/js/%40cumulus%2Fcumulus-message-adapter-js)

## 库穆卢斯是什么

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

读取 [Cumulus 文档](https://nasa.github.io/cumulus)

## Cumulus 消息适应器是什么?

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

## 安装

Cumulus-message-adapter-js可以通过节点套件管理器(NPM)安装,套件定位 [这里](https://www.npmjs.com/package/@cumulus/cumulus-message-adapter-js)。 。 。 .

软件包可以通过运行添加到您的工程中 `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 任务

```javascript
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任务. 资料 创建可用的释放软件包 [这里](https://docs.aws.amazon.com/lambda/latest/dg/deployment-package-v2.html)。 。 。 .

## 库穆卢斯部署的使用

关于如何在Cumulus部署中利用这一包的文件,请查看 [工作流程调节](https://nasa.github.io/cumulus/docs/workflows/input_output)。 。 。 .

## 环境变量

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

-   `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 是什么？

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 和提交记录判断。

