# @aws-cdk/aws-apigatewayv2-integrations-alpha 中文文档

规范地址：https://npmcn.com/package/%40aws-cdk/aws-apigatewayv2-integrations-alpha/

版本：2\.114\.1-alpha\.0
npm 元数据更新时间：2023-12-06T13:58:13.030Z
中文译文更新时间：2026-11-07T11:48:38.215Z
软件包许可：Apache-2\.0

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

原始 npm 页面：https://www.npmjs.com/package/%40aws-cdk/aws-apigatewayv2-integrations-alpha
原文对照：https://npmcn.com/package/%40aws-cdk/aws-apigatewayv2-integrations-alpha/?lang=original
项目主页：https://github.com/aws/aws-cdk
源码仓库：https://github.com/aws/aws-cdk

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

- 包体积（解压后）：259 kB，34 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- Node.js 要求：\>= 14\.15\.0
- 运行依赖：0 个
- peer 依赖：@aws-cdk/aws-apigatewayv2-alpha 2\.114\.1-alpha\.0，aws-cdk-lib ^2\.114\.1，constructs ^10\.0\.0
- 首次发布：2021-10-13T18:38:53.187Z
- 最新版本发布：2023-12-06T13:58:12.855Z
- 近 30 天下载量：117045（2026-10-07 至 2026-11-05，npm 官方下载统计）
- 已发布版本数：169（近 12 个月 0 个）

## 中文简介

此模块被贬值. 所有建筑现在都可以在aws-cdk-lib/aws-apigatewayv2集成下使用

## 安装

```sh
npm install @aws-cdk/aws-apigatewayv2-integrations-alpha
```

也可以使用：`pnpm add @aws-cdk/aws-apigatewayv2-integrations-alpha`、`yarn add @aws-cdk/aws-apigatewayv2-integrations-alpha`、`bun add @aws-cdk/aws-apigatewayv2-integrations-alpha`

## README

# AWS APIGatewayv2 集成

* * *

![Deprecated](https://img.shields.io/badge/deprecated-critical.svg?style=for-the-badge)

> 此API 可能会发出警告 。 后向兼容性没有保证 .

* * *

所有构造都转移到了aws-cdk-lib/aws-apigatewayv2集成.

## 目录

-   [HTTP API 软件](https://npmcn.com/package/%40aws-cdk/aws-apigatewayv2-integrations-alpha/#readme-http-apis)
    -   [Lambda一体化组织](https://npmcn.com/package/%40aws-cdk/aws-apigatewayv2-integrations-alpha/#readme-lambda)
    -   [HTTP 代理集成](https://npmcn.com/package/%40aws-cdk/aws-apigatewayv2-integrations-alpha/#readme-http-proxy)
    -   [私营一体化](https://npmcn.com/package/%40aws-cdk/aws-apigatewayv2-integrations-alpha/#readme-private-integration)
    -   [请求参数](https://npmcn.com/package/%40aws-cdk/aws-apigatewayv2-integrations-alpha/#readme-request-parameters)
-   [网络锁定 APIs](https://npmcn.com/package/%40aws-cdk/aws-apigatewayv2-integrations-alpha/#readme-websocket-apis)
    -   [Lambda WebSocket 集成系统](https://npmcn.com/package/%40aws-cdk/aws-apigatewayv2-integrations-alpha/#readme-lambda-websocket-integration)

## HTTP API 软件

整合连接到后端资源的路由. HTTP APIs支持Lambda代理,AWS服务,以及HTTP代理集成. HTTP代理集成也被称为私人集成.

### 兰布达

Lambda集成可以将HTTP API路由与Lambda功能相融合. 当客户援引路线时 API Gateway服务将请求转发到Lambda函数,并返回该函数对客户端的响应.

API Gateway服务将引用Lambda函数,其事件有效载荷具有特定格式。 服务预期 以特定格式响应的函数。 有关该格式的详情请查阅 [与AWS Lambda合作 代理集成](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-lambda.html)。 。 。 .

以下代码配置一个路由 `GET /books` 一个Lambda代理集成.

```ts
import { HttpLambdaIntegration } from '@aws-cdk/aws-apigatewayv2-integrations-alpha';

declare const booksDefaultFn: lambda.Function;
const booksIntegration = new HttpLambdaIntegration('BooksIntegration', booksDefaultFn);

const httpApi = new apigwv2.HttpApi(this, 'HttpApi');

httpApi.addRoutes({
  path: '/books',
  methods: [ apigwv2.HttpMethod.GET ],
  integration: booksIntegration,
});
```

### HTTP 代理服务器

HTTP代理集成使得一个HTTP API路由能够连接到一个公开的routable HTTP端点. 当客户端 引用路由, API Gateway 服务在 API Gateway 端口之间转发整个请求和响应 和整合 HTTP 端点。 更多信息可在 [使用 HTTP 代理服务器 整合](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-http.html)。 。 。 .

以下代码配置一个路由 `GET /books` 将 HTTP 代理集成到 HTTP 端点 `get-books-proxy.example.com`。 。 。 .

```ts
import { HttpUrlIntegration } from '@aws-cdk/aws-apigatewayv2-integrations-alpha';

const booksIntegration = new HttpUrlIntegration('BooksIntegration', 'https://get-books-proxy.example.com');

const httpApi = new apigwv2.HttpApi(this, 'HttpApi');

httpApi.addRoutes({
  path: '/books',
  methods: [ apigwv2.HttpMethod.GET ],
  integration: booksIntegration,
});
```

### 私营一体化

私有集成可以将 HTTP API 路由与私有资源整合到 VPC 中,例如应用程序负载平衡器或 亚马逊ECS容器应用. 利用私人集成,VPC中的资源可以被曝出,供 在VPC以外的客户.

支持将以下整合纳入一项自愿参与方案,用于私人资源.

#### 应用程序负载平衡器

以下代码是HTTP API的基本应用程序负载平衡器的私人集成:

```ts
import { HttpAlbIntegration } from '@aws-cdk/aws-apigatewayv2-integrations-alpha';

const vpc = new ec2.Vpc(this, 'VPC');
const lb = new elbv2.ApplicationLoadBalancer(this, 'lb', { vpc });
const listener = lb.addListener('listener', { port: 80 });
listener.addTargets('target', {
  port: 80,
});

const httpEndpoint = new apigwv2.HttpApi(this, 'HttpProxyPrivateApi', {
  defaultIntegration: new HttpAlbIntegration('DefaultIntegration', listener),
});
```

当使用导入的负载平衡器时 `vpc` 选项必须指定 `HttpAlbIntegration`。 。 。 .

#### 网络负载平衡器

以下代码是 HTTP API 的基本网络负载平衡器私人集成:

```ts
import { HttpNlbIntegration } from '@aws-cdk/aws-apigatewayv2-integrations-alpha';

const vpc = new ec2.Vpc(this, 'VPC');
const lb = new elbv2.NetworkLoadBalancer(this, 'lb', { vpc });
const listener = lb.addListener('listener', { port: 80 });
listener.addTargets('target', {
  port: 80,
});

const httpEndpoint = new apigwv2.HttpApi(this, 'HttpProxyPrivateApi', {
  defaultIntegration: new HttpNlbIntegration('DefaultIntegration', listener),
});
```

当使用导入的负载平衡器时 `vpc` 选项必须指定 `HttpNlbIntegration`。 。 。 .

#### 云图服务发现

以下代码是 HTTP API 的基本发现服务私人集成:

```ts
import * as servicediscovery from 'aws-cdk-lib/aws-servicediscovery';
import { HttpServiceDiscoveryIntegration } from '@aws-cdk/aws-apigatewayv2-integrations-alpha';

const vpc = new ec2.Vpc(this, 'VPC');
const vpcLink = new apigwv2.VpcLink(this, 'VpcLink', { vpc });
const namespace = new servicediscovery.PrivateDnsNamespace(this, 'Namespace', {
  name: 'boobar.com',
  vpc,
});
const service = namespace.createService('Service');

const httpEndpoint = new apigwv2.HttpApi(this, 'HttpProxyPrivateApi', {
  defaultIntegration: new HttpServiceDiscoveryIntegration('DefaultIntegration', service, {
    vpcLink,
  }),
});
```

### 请求参数

请求参数映射允许客户端的API请求在达到后端集成之前被修改. 参数映射可用于指定对请求参数的修改. 见 [转换 API 请求和 答复](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html)。 。 。 .

以下示例创建了新标题 - `header2` - 作为副本 `header1` 并删除 `header1`。 。 。 .

```ts
import { HttpAlbIntegration } from '@aws-cdk/aws-apigatewayv2-integrations-alpha';

declare const lb: elbv2.ApplicationLoadBalancer;
const listener = lb.addListener('listener', { port: 80 });
listener.addTargets('target', {
  port: 80,
});

const httpEndpoint = new apigwv2.HttpApi(this, 'HttpProxyPrivateApi', {
  defaultIntegration: new HttpAlbIntegration('DefaultIntegration', listener, {
    parameterMapping: new apigwv2.ParameterMapping()
      .appendHeader('header2', apigwv2.MappingValue.requestHeader('header1'))
      .removeHeader('header1'),
  }),
});
```

要添加 CDK 尚未支持的映射密钥和值,请使用 `custom()` 方法 :

```ts
import { HttpAlbIntegration } from '@aws-cdk/aws-apigatewayv2-integrations-alpha';

declare const lb: elbv2.ApplicationLoadBalancer;
const listener = lb.addListener('listener', { port: 80 });
listener.addTargets('target', {
  port: 80,
});

const httpEndpoint = new apigwv2.HttpApi(this, 'HttpProxyPrivateApi', {
  defaultIntegration: new HttpAlbIntegration('DefaultIntegration', listener, {
    parameterMapping: new apigwv2.ParameterMapping().custom('myKey', 'myValue'),
  }),
});
```

## 网络锁定 APIs

WebSocket集成将一条路由连接到后端资源. CDK支持以下整合.

### Lambda WebSocket 集成系统

Lambda集成使WebSocket API路由与Lambda功能相融合成为可能. 当客户端连接/ 断开连接时 aPI 网关服务将请求转发到 Lambda 函数

API Gateway服务将引用Lambda函数,其事件有效载荷具有特定格式.

以下代码配置 a `sendMessage` 与Lambda集成的路线

```ts
import { WebSocketLambdaIntegration } from '@aws-cdk/aws-apigatewayv2-integrations-alpha';

const webSocketApi = new apigwv2.WebSocketApi(this, 'mywsapi');
new apigwv2.WebSocketStage(this, 'mystage', {
  webSocketApi,
  stageName: 'dev',
  autoDeploy: true,
});

declare const messageHandler: lambda.Function;
webSocketApi.addRoute('sendMessage', {
  integration: new WebSocketLambdaIntegration('SendMessageIntegration', messageHandler),
});
```

## 常见问题

### @aws-cdk/aws-apigatewayv2-integrations-alpha 是什么？

此模块被贬值\. 所有建筑现在都可以在aws-cdk-lib/aws-apigatewayv2集成下使用

### 如何安装 @aws-cdk/aws-apigatewayv2-integrations-alpha？

在项目目录运行 npm install @aws-cdk/aws-apigatewayv2-integrations-alpha，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：@aws-cdk/aws-apigatewayv2-alpha（2\.114\.1-alpha\.0）、aws-cdk-lib（^2\.114\.1）、constructs（^10\.0\.0）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @aws-cdk/aws-apigatewayv2-integrations-alpha 支持 TypeScript 吗？

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

### @aws-cdk/aws-apigatewayv2-integrations-alpha 支持 ESM 还是 CommonJS？

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

### @aws-cdk/aws-apigatewayv2-integrations-alpha 需要什么版本的 Node\.js？

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

### @aws-cdk/aws-apigatewayv2-integrations-alpha 可以商用吗？

@aws-cdk/aws-apigatewayv2-integrations-alpha 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @aws-cdk/aws-apigatewayv2-integrations-alpha 的下载量有多少？

根据 npm 官方下载统计，@aws-cdk/aws-apigatewayv2-integrations-alpha 在 2026/10/07 – 2026/11/05 这 30 天内被下载 117,045 次，日均约 3,902 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @aws-cdk/aws-apigatewayv2-integrations-alpha 还在维护吗？

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

