# @coorpacademy/serverless-offline-eventbridge 中文文档

规范地址：https://npmcn.com/package/%40coorpacademy/serverless-offline-eventbridge/

版本：1\.0\.1
npm 元数据更新时间：2026-11-08T23:05:30.553Z
中文译文更新时间：2026-11-10T22:09:29.351Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40coorpacademy/serverless-offline-eventbridge
原文对照：https://npmcn.com/package/%40coorpacademy/serverless-offline-eventbridge/?lang=original
项目主页：https://github.com/CoorpAcademy/serverless-plugins/tree/master/packages/serverless-offline-eventbridge#readme
源码仓库：https://github.com/CoorpAcademy/serverless-plugins

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

- 包体积（解压后）：47.6 kB，11 个文件
- 模块格式：CommonJS
- TypeScript 类型：未声明
- Node.js 要求：\>=18
- 运行依赖：2 个
- peer 依赖：serverless-offline \>=11
- 首次发布：2026-07-07T08:30:18.288Z
- 最新版本发布：2026-07-07T08:37:49.948Z
- 近 30 天下载量：2680（2026-10-11 至 2026-11-09，npm 官方下载统计）
- 已发布版本数：2（近 12 个月 2 个）

## 中文简介

开发您的无服务器项目时, 在本地模拟 AWS 和 EventBridge

## 安装

```sh
npm install @coorpacademy/serverless-offline-eventbridge
```

也可以使用：`pnpm add @coorpacademy/serverless-offline-eventbridge`、`yarn add @coorpacademy/serverless-offline-eventbridge`、`bun add @coorpacademy/serverless-offline-eventbridge`

## README

# @coorpacademy/ serverles-offline-eventbridge (英语)

这个无服务器离线插件在您的本地机器上模拟 AWS 和 EventBridge 。 它暴露了一个 当地 `PutEvents` 结束点, 每一次发布的事件都会通过真实的事件Bridge **事件处理器** 匹配器,并通过 `serverless-offline`自己的蓝巴达跑道.

_特征_数字 :

-   进行中 `PutEvents` 端点+内相事件总线- **不需要额外容器**。 。 。 .
-   真实事件桥 **事件处理器** 匹配 (e)`source`, (中文(简体) ), `detail-type`,筑起 `detail`, (中文(简体) ), `resources`, (中文(简体) ), `$or`,和内容过滤器 `prefix`, (中文(简体) ), `suffix`, (中文(简体) ), `anything-but`, (中文(简体) ), `exists`, (中文(简体) ), `equals-ignore-case`, (中文(简体) ), `numeric`, (中文(简体) ), `wildcard`, (中文(简体) ), `cidr`) (中文(简体) ).
-   授予两个函数级别 `eventBridge:` 事件 **财务报告和审定财务报表** 原始云阵 `AWS::Events::Rule` 资源.
-   以备份重试, 可选 `destinations.onFailure` (DLQ)针对当地SQS的模拟 终点.

## 无服务器框架 v4

此插件支持 **无服务器框架 v3 和 v4**。它从插件中取出日志 构造器的 3 第 个参数 (`{log}`) 并倒转 `console` 当它缺席,所以没有 升级时需要改变配置.

## 安装

第一,添加 `@coorpacademy/serverless-offline-eventbridge` 对您的项目:

```sh
npm install @coorpacademy/serverless-offline-eventbridge
```

在你的项目里 `serverless.yml` 文件,将以下条目添加到插件区域 在此之前 `serverless-offline`数字 :

```yml
plugins:
  - '@coorpacademy/serverless-offline-eventbridge'
  - serverless-offline
```

## 怎么样?

默认情况下, 插件会启动一个小的在进程内 HTTP 服务器( 节点核心) `http`,无额外依赖) 接受 AWS 时 `PutEvents` 请求(`X-Amz-Target: AWSEvents.PutEvents`, (中文(简体) ), `Content-Type: application/x-amz-json-1.1`) (中文(简体) ). 每一个出版的条目都变成了"犬" 事件Bridge事件信封, 匹配每个用户的事件Pattern 和匹配的 Lambda 通过 `serverless-offline`。目标失败不会失败 `PutEvents` 反应(模仿AWS),但经过重试,一旦重试已用尽,可选择路由到 函数的 `destinations.onFailure`。 。 。 .

对准您的 AWS SDK 事件桥客户端 `http://<host>:<port>` (默认) `http://127.0.0.1:4010`改为: 在当地发布事件.

## 配置

### 职能

职能级别 `eventBridge` 之后的事件 [无服务器文档](https://www.serverless.com/framework/docs/providers/aws/events/event-bridge)。 。 。 .

```yml
functions:
  myHandler:
    handler: handler.compute
    events:
      - eventBridge:
          eventBus: default
          pattern:
            source:
              - my.app
            detail-type:
              - OrderPlaced
            detail:
              status:
                - CONFIRMED
```

### 云阵 `AWS::Events::Rule` 资源

直接宣布的规则 `resources` 也被尊重: 插件扫描 `AWS::Events::Rule` 资源 `Targets[].Arn` 实值 `{Fn::GetAtt: [<FunctionLogicalId>, Arn]}`,将目标映射回 并登记规则的 `EventPattern`。 。 。 .

```yml
resources:
  Resources:
    OrderPlacedRule:
      Type: AWS::Events::Rule
      Properties:
        EventBusName: default
        EventPattern:
          source:
            - my.app
          detail-type:
            - OrderPlaced
        Targets:
          - Id: myHandler
            Arn:
              Fn::GetAtt:
                - MyHandlerLambdaFunction
                - Arn
```

### 事件桥插件选项

通过 a 配置插件 `custom: serverless-offline-eventbridge` 对象 `serverless.yml`数字 :

```yml
custom:
  serverless-offline-eventbridge:
    host: 127.0.0.1            # bind host for the PutEvents endpoint
    port: 4010                 # PutEvents endpoint port
    accountId: '000000000000'  # event `account` + event-bus ARN
    maximumRetryAttempts: 10   # dispatch retry budget
    retryDelayMs: 500          # delay between retries
    debug: false               # verbose logging of options + subscriptions
    mockServer: true           # run the in-process PutEvents endpoint
    simulateDestinations: true # route exhausted async failures to destinations.onFailure
    endpoint: http://localhost:9324  # AWS endpoint for the onFailure SQS / opt-in subscribe clients
    subscribe: false           # opt-in: poll a real `events` bus at `endpoint`
    pollInterval: 1000         # LocalStack opt-in poll cadence (ms)
```

| 选项 | 默认 | 目的 |
| --- | --- | --- |
| `host` | `127.0.0.1` | putEvents 端点绑定主机 |
| `port` | `4010` | PutEvents 端口端口 |
| `region` | 从 `provider.region` | 事件 `region` 字段 + ARN 构建 |
| `accountId` | `000000000000` | 事件 `account` +事件总库 ARN |
| `maximumRetryAttempts` | `10` | 调度重试预算 |
| `retryDelayMs` | `500` | 复试之间的延迟 |
| `debug` | `false` | 动词记录 |
| `endpoint` | `undefined` | 失败 SQS / 选择订阅客户端的 AWS 端点 |
| `subscribe` | `false` | 选入: 选入真实 `events` 公共汽车在 `endpoint` |
| `mockServer` | `true` | 运行进程内 PutEvents 端点 |
| `simulateDestinations` | `true` | 路由已耗尽 `destinations.onFailure` |
| `pollInterval` | `1000` | 本地选入民意调查 |

## 支持的事件Pattern 内容过滤器

`prefix` (包括 `{prefix: {equals-ignore-case}}`, (中文(简体) ), `suffix`, (中文(简体) ), `anything-but`, (中文(简体) ), `exists`, (中文(简体) ), `equals-ignore-case`, (中文(简体) ), `numeric` (多语种,例如:. `['>', 0, '<=', 100]`, (中文(简体) ), `wildcard` (单位:千美元)`*` 盖布, 财务报告和审定财务报表 `cidr`。一个 **不详** 滤镜密钥作为非匹配处理(它从未丢出).

## 归属

EventPattern 匹配算法在精神上从 [`rubenkaiser/serverless-offline-aws-eventbridge`](https://github.com/rubenkaiser/serverless-offline-aws-eventbridge) (MIT),重写为纯 `lodash/fp` 帮手 见 [`NOTICE`](https://npmcn.com/package/%40coorpacademy/serverless-offline-eventbridge/NOTICE)。 。 。 .

## 常见问题

### @coorpacademy/serverless-offline-eventbridge 是什么？

开发您的无服务器项目时, 在本地模拟 AWS 和 EventBridge

### 如何安装 @coorpacademy/serverless-offline-eventbridge？

在项目目录运行 npm install @coorpacademy/serverless-offline-eventbridge，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：serverless-offline（\>=11）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @coorpacademy/serverless-offline-eventbridge 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/coorpacademy\_\_serverless-offline-eventbridge 是否存在。

### @coorpacademy/serverless-offline-eventbridge 支持 ESM 还是 CommonJS？

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

### @coorpacademy/serverless-offline-eventbridge 需要什么版本的 Node\.js？

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

### @coorpacademy/serverless-offline-eventbridge 可以商用吗？

@coorpacademy/serverless-offline-eventbridge 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @coorpacademy/serverless-offline-eventbridge 的下载量有多少？

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

### @coorpacademy/serverless-offline-eventbridge 还在维护吗？

最新版本 1\.0\.1 发布于 2026/07/07（4 个月前）；至今共发布 2 个版本，其中过去 12 个月发布了 2 个；首次发布于 2026/07/07。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

