# @aws-amplify/graphql-api-construct 中文文档

规范地址：https://npmcn.com/package/%40aws-amplify/graphql-api-construct/

版本：1\.22\.4
npm 元数据更新时间：2026-11-06T16:01:12.770Z
中文译文更新时间：2026-11-07T09:13:41.671Z
软件包许可：Apache-2\.0

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

原始 npm 页面：https://www.npmjs.com/package/%40aws-amplify/graphql-api-construct
原文对照：https://npmcn.com/package/%40aws-amplify/graphql-api-construct/?lang=original
项目主页：https://github.com/aws-amplify/amplify-category-api#readme
源码仓库：https://github.com/aws-amplify/amplify-category-api

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

- 包体积（解压后）：124 MB，14623 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- 运行依赖：144 个
- peer 依赖：constructs ^10\.5\.0，aws-cdk-lib ^2\.224\.0
- 首次发布：2023-09-28T18:52:31.095Z
- 最新版本发布：2026-11-06T16:01:12.415Z
- 近 30 天下载量：665065（2026-10-07 至 2026-11-05，npm 官方下载统计）
- 已发布版本数：162（近 12 个月 10 个）

## 中文简介

AppSync GraphQL Api Construction 使用放大GraphQL变形器.

## 安装

```sh
npm install @aws-amplify/graphql-api-construct
```

也可以使用：`pnpm add @aws-amplify/graphql-api-construct`、`yarn add @aws-amplify/graphql-api-construct`、`bun add @aws-amplify/graphql-api-construct`

## README

# 放大图形ql API 构造

[![View on Construct Hub](https://constructs.dev/badge?package=%40aws-amplify%2Fgraphql-api-construct)](https://constructs.dev/packages/@aws-amplify/graphql-api-construct)

此套件会 vend a L3 CDK Constructure 包裝了 Amplify GraphQL 变形器的行为. 这使得AppSync API能够快速开发并插入支持"放大图形QL指令". 关于GraphQL中计划模型的更多信息,请参见: [扩展开发者文件](https://docs.amplify.aws/cli/graphql/overview/)。 。 。 .

使用此构造的主要方式是用一个提供的 schema( 要么作为内置的图克字符串, 要么作为一个或多个) 引用它 `appsync.SchemaFile`(a) 物品,并附有授权配置。 AppSync API的授权有5个支持的方法,这些都由这个构造支持. 关于授权规则定义的更多信息,请参见: [授权文件](https://docs.amplify.aws/cli/graphql/authorization-rules/)注:目前至少需要一项授权规则,如果有多项授权,则需一项授权规则 `defaultAuthorizationMode` 必须在相片上指定。 指定的授权模式必须是在图克l schema中配置的这些模式的超级集.

## 实例

### 以 Cognitto 用户池为基础的所有者授权的简单待办事宜列表

在这个例子中,我们创建一个单一的模型,它将使用 `user pool` 认证以允许用户登录以创建和管理自己的 `todos` 私下.

我们创建了 Cdk App 和 Stack, 尽管您可能正在将它应用到自定义的堆栈中, 这纯粹是一个简洁的演示.

然后,我们通过电线导入一个已经部署的用户库(例如,创建和部署已超出范围).

```ts
import { App, Stack } from 'aws-cdk-lib';
import { UserPool } from 'aws-cdk-lib/aws-cognito';
import { AmplifyGraphqlApi, AmplifyGraphqlDefinition } from '@aws-amplify/graphql-api-construct';

const app = new App();
const stack = new Stack(app, 'TodoStack');

new AmplifyGraphqlApi(stack, 'TodoApp', {
  definition: AmplifyGraphqlDefinition.fromString(/* GraphQL */ `
    type Todo @model @auth(rules: [{ allow: owner }]) {
      description: String!
      completed: Boolean
    }
  `),
  authorizationModes: {
    userPoolConfig: {
      userPool: UserPool.fromUserPoolId(stack, 'ImportedUserPool', '<YOUR_USER_POOL_ID>'),
    },
  },
});
```

### 多个相关模式,可公开阅读访问,管理员阅读/写入访问

在这个例子中,我们创建了两个相关的模型,这些模型将在“Author”和“Admin”用户组的用户中登录 完全访问,使用 api 密钥请求的客户只能读取权限 .

```ts
import { App, Stack } from 'aws-cdk-lib';
import { UserPool } from 'aws-cdk-lib/aws-cognito';
import { AmplifyGraphqlApi, AmplifyGraphqlDefinition } from '@aws-amplify/graphql-api-construct';

const app = new App();
const stack = new Stack(app, 'BlogStack');

new AmplifyGraphqlApi(stack, 'BlogApp', {
  definition: AmplifyGraphqlDefinition.fromString(/* GraphQL */ `
    type Blog @model @auth(rules: [{ allow: public, operations: [read] }, { allow: groups, groups: ["Author", "Admin"] }]) {
      title: String!
      description: String
      posts: [Post] @hasMany
    }

    type Post @model @auth(rules: [{ allow: public, operations: [read] }, { allow: groups, groups: ["Author", "Admin"] }]) {
      title: String!
      content: [String]
      blog: Blog @belongsTo
    }
  `),
  authorizationModes: {
    defaultAuthorizationMode: 'API_KEY',
    apiKeyConfig: {
      description: 'Api Key for public access',
      expires: cdk.Duration.days(7),
    },
    userPoolConfig: {
      userPool: UserPool.fromUserPoolId(stack, 'ImportedUserPool', '<YOUR_USER_POOL_ID>'),
    },
  },
});
```

### 从文件导入 GraphQL Schema, 而不是内入

在这个例子中,我们从一个或多个本地文件导入了 schema 定义本身,而不是内置的图克字符串.

```graphql
# todo.graphql
type Todo @model @auth(rules: [{ allow: owner }]) {
  content: String!
  done: Boolean
}
```

```graphql
# blog.graphql
type Blog @model @auth(rules: [{ allow: owner }, { allow: public, operations: [read] }]) {
  title: String!
  description: String
  posts: [Post] @hasMany
}

type Post @model @auth(rules: [{ allow: owner }, { allow: public, operations: [read] }]) {
  title: String!
  content: [String]
  blog: Blog @belongsTo
}
```

```ts
// app.ts
import { App, Stack } from 'aws-cdk-lib';
import { UserPool } from 'aws-cdk-lib/aws-cognito';
import { AmplifyGraphqlApi, AmplifyGraphqlDefinition } from '@aws-amplify/graphql-api-construct';

const app = new App();
const stack = new Stack(app, 'MultiFileStack');

new AmplifyGraphqlApi(stack, 'MultiFileDefinition', {
  definition: AmplifyGraphqlDefinition.fromFiles(path.join(__dirname, 'todo.graphql'), path.join(__dirname, 'blog.graphql')),
  authorizationModes: {
    defaultAuthorizationMode: 'API_KEY',
    apiKeyConfig: {
      description: 'Api Key for public access',
      expires: cdk.Duration.days(7),
    },
    userPoolConfig: {
      userPool: UserPool.fromUserPoolId(stack, 'ImportedUserPool', '<YOUR_USER_POOL_ID>'),
    },
  },
});
```

# API 参考

## 构造

### 放大 GraphqlApi 语法

L3 构造,它比一个输入 Graphql Schema 引用 Amplify 变形器模式.

可用于快速定义支持完整 CRUD+ 的 Appis 清单和订阅、关系、, 认证,在数据上搜索,能够注入自定义业务逻辑和查询/调试操作,并连接到ML服务.

欲了解更多信息,请参看以下文件链接: 数据建模 - [https://docs.amplify.aws/cli/graphql/data-modeling/ 页面存档备份,存于互联网档案馆](https://docs.amplify.aws/cli/graphql/data-modeling/) 授权 - [https://docs.amplify.aws/cli/graphql/ 授权-规则/](https://docs.amplify.aws/cli/graphql/authorization-rules/) 自定义商业逻辑 - [https://docs.amplify.aws/cli/graphql/custom-business-logic/ 页面存档备份,存于互联网档案馆](https://docs.amplify.aws/cli/graphql/custom-business-logic/) 搜索 - [https://docs.amplify.aws/cli/graphql/search-和-result-agglections/ 互联网档案馆的存檔,存档日期2013-12-02](https://docs.amplify.aws/cli/graphql/search-and-result-aggregations/) ML服务 [https://docs.amplify.aws/cli/graphql/连接到机器-学习-服务/](https://docs.amplify.aws/cli/graphql/connect-to-machine-learning-services/)

关于支持的自定义图ql指令的全部参考 - [https://docs.amplify.aws/cli/graphql/directives-reference/ 页面存档备份,存于互联网档案馆](https://docs.amplify.aws/cli/graphql/directives-reference/)

此构造的输出是对变压器生成的L2或L1资源进行映射,一般遵循访问模式

```typescript
  const api = new AmplifyGraphQlApi(this, 'api', { <params> });
  // Access L2 resources under `.resources`
  api.resources.tables["Todo"].tableArn;

  // Access L1 resources under `.resources.cfnResources`
  api.resources.cfnResources.cfnGraphqlApi.xrayEnabled = true;
  Object.values(api.resources.cfnResources.cfnTables).forEach(table => {
    table.pointInTimeRecoverySpecification = { pointInTimeRecoveryEnabled: false };
  });
```

`resources.<ResourceType>.<ResourceName>` - 然后,您可以对这些产生的复苏执行任何 CDK 动作.

#### 初始化剂

```typescript
import { AmplifyGraphqlApi } from '@aws-amplify/graphql-api-construct'

new AmplifyGraphqlApi(scope: Construct, id: string, props: AmplifyGraphqlApiProps)
```

| **名称** | **类型** | **说明** |
| --- | --- | --- |
| `[scope](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.Initializer.parameter.scope)` | `constructs.Construct` | 在内部创建这种构思的范围. |
| `[id](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.Initializer.parameter.id)` | `string` | 用于此 api 的 id . |
| `[props](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.Initializer.parameter.props)` | `[AmplifyGraphqlApiProps](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AmplifyGraphqlApiProps)` | 用于配置生成的 api 属性. |

* * *

##### `scope`需求

-   _类型 :_ 构造 构造

在内部创建这种构思的范围.

* * *

##### `id`需求

-   _类型 :_ 字符串

用于此 api 的 id .

* * *

##### `props`需求

-   _类型 :_ [放大图像](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AmplifyGraphqlApiProps)

用于配置生成的 api 属性.

* * *

#### 方法

| **名称** | **说明** |
| --- | --- |
| `[toString](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.toString)` | 返回此构造的字符串表达式 . |
| `[addDynamoDbDataSource](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addDynamoDbDataSource)` | 在此API中添加一个新的 DynamoDB 数据源 . |
| `[addElasticsearchDataSource](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addElasticsearchDataSource)` | 在此 API 中添加一个新的弹性搜索数据源 . |
| `[addEventBridgeDataSource](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addEventBridgeDataSource)` | 在此 api 中添加 EventBridge 数据源 . |
| `[addFunction](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addFunction)` | 向 api 添加一个辅助函数 . |
| `[addHttpDataSource](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addHttpDataSource)` | 在此 API 中添加一个新的 http 数据源 . |
| `[addLambdaDataSource](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addLambdaDataSource)` | 在此 API 中添加一个新的 Lambda 数据源 . |
| `[addNoneDataSource](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addNoneDataSource)` | 在此 API 中添加一个新的假数据源 . |
| `[addOpenSearchDataSource](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addOpenSearchDataSource)` | dd 一个新的 OpenSearch 数据源到此 API . |
| `[addRdsDataSource](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addRdsDataSource)` | 在此 API 中添加一个新的 Rds 数据源 . |
| `[addResolver](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addResolver)` | 向 Api 添加解析器 . |

* * *

##### `toString`

```typescript
public toString(): string
```

返回此构造的字符串表达式 .

##### `addDynamoDbDataSource`

```typescript
public addDynamoDbDataSource(id: string, table: ITable, options?: DataSourceOptions): DynamoDbDataSource
```

在此API中添加一个新的 DynamoDB 数据源 .

这是 L2 GraphqlApi 构造的代理方法 .

###### `id`需求

-   _类型 :_ 字符串

数据来源:ID.

* * *

###### `table`需求

-   _类型 :_ aws-cdk-lib.aws dynamodb. IT可读

DynamoDB 表格支持此数据源 .

* * *

###### `options`可选

-   _类型 :_ aws-cdk-lib.aws appsync. 数据源选项

此数据源的可选配置 .

* * *

##### ~`addElasticsearchDataSource`~

```typescript
public addElasticsearchDataSource(id: string, domain: IDomain, options?: DataSourceOptions): ElasticsearchDataSource
```

在此 API 中添加一个新的弹性搜索数据源 .

这是 L2 GraphqlApi 构造的代理方法 .

###### `id`需求

-   _类型 :_ 字符串

数据来源:ID.

* * *

###### `domain`需求

-   _类型 :_ aws-cdk-lib.aws elasticsearch.IDomain 互联网档案馆的存檔,存档日期2013-12-02

此数据源的弹性搜索域.

* * *

###### `options`可选

-   _类型 :_ aws-cdk-lib.aws appsync. 数据源选项

此数据源的可选配置 .

* * *

##### `addEventBridgeDataSource`

```typescript
public addEventBridgeDataSource(id: string, eventBus: IEventBus, options?: DataSourceOptions): EventBridgeDataSource
```

在此 api 中添加 EventBridge 数据源 .

这是 L2 GraphqlApi 构造的代理方法 .

###### `id`需求

-   _类型 :_ 字符串

数据来源:ID.

* * *

###### `eventBus`需求

-   _类型 :_ aws-cdk-lib.aws events.IEventBus (英语)

事件 Bridge 事件 Bus 上的活动.

* * *

###### `options`可选

-   _类型 :_ aws-cdk-lib.aws appsync. 数据源选项

此数据源的可选配置 .

* * *

##### `addFunction`

```typescript
public addFunction(id: string, props: AddFunctionProps): AppsyncFunction
```

向 api 添加一个辅助函数 .

###### `id`需求

-   _类型 :_ 字符串

函数为 id.

* * *

###### `props`需求

-   _类型 :_ [添加功能选项](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AddFunctionProps)

* * *

##### `addHttpDataSource`

```typescript
public addHttpDataSource(id: string, endpoint: string, options?: HttpDataSourceOptions): HttpDataSource
```

在此 API 中添加一个新的 http 数据源 .

这是 L2 GraphqlApi 构造的代理方法 .

###### `id`需求

-   _类型 :_ 字符串

数据来源:ID.

* * *

###### `endpoint`需求

-   _类型 :_ 字符串

Http端点.

* * *

###### `options`可选

-   _类型 :_ aws-cdk-lib.aws appsync.HttpData 源代码选项

此数据源的可选配置 .

* * *

##### `addLambdaDataSource`

```typescript
public addLambdaDataSource(id: string, lambdaFunction: IFunction, options?: DataSourceOptions): LambdaDataSource
```

在此 API 中添加一个新的 Lambda 数据源 .

这是 L2 GraphqlApi 构造的代理方法 .

###### `id`需求

-   _类型 :_ 字符串

数据来源:ID.

* * *

###### `lambdaFunction`需求

-   _类型 :_ aws-cdk-lib.aws lambda.function (英语)

Lambda函数调用此数据源进行交互.

* * *

###### `options`可选

-   _类型 :_ aws-cdk-lib.aws appsync. 数据源选项

此数据源的可选配置 .

* * *

##### `addNoneDataSource`

```typescript
public addNoneDataSource(id: string, options?: DataSourceOptions): NoneDataSource
```

在此 API 中添加一个新的假数据源 .

这是 L2 GraphqlApi 构造的代理方法 . 用于管道解析器和不需要数据源的后端修改.

###### `id`需求

-   _类型 :_ 字符串

数据来源:ID.

* * *

###### `options`可选

-   _类型 :_ aws-cdk-lib.aws appsync. 数据源选项

此数据源的可选配置 .

* * *

##### `addOpenSearchDataSource`

```typescript
public addOpenSearchDataSource(id: string, domain: IDomain, options?: DataSourceOptions): OpenSearchDataSource
```

dd 一个新的 OpenSearch 数据源到此 API .

这是 L2 GraphqlApi 构造的代理方法 .

###### `id`需求

-   _类型 :_ 字符串

数据来源:ID.

* * *

###### `domain`需求

-   _类型 :_ aws-cdk-lib.aws opensearch service.IDomain (英语)

此数据源的 OpenSearch 域名 .

* * *

###### `options`可选

-   _类型 :_ aws-cdk-lib.aws appsync. 数据源选项

此数据源的可选配置 .

* * *

##### `addRdsDataSource`

```typescript
public addRdsDataSource(id: string, serverlessCluster: IServerlessCluster, secretStore: ISecret, databaseName?: string, options?: DataSourceOptions): RdsDataSource
```

在此 API 中添加一个新的 Rds 数据源 .

这是 L2 GraphqlApi 构造的代理方法 .

###### `id`需求

-   _类型 :_ 字符串

数据来源:ID.

* * *

###### `serverlessCluster`需求

-   _类型 :_ aws-cdk-lib.aws rds. IServerless Cluster (英语)

与此数据源交互的无服务器集群 .

* * *

###### `secretStore`需求

-   _类型 :_ aws-cdk-lib.aws secretsmanager.ISecret (英语)

包含无服务器集群用户名和密码的秘密商店 .

* * *

###### `databaseName`可选

-   _类型 :_ 字符串

在集群内使用的可选数据库名称.

* * *

###### `options`可选

-   _类型 :_ aws-cdk-lib.aws appsync. 数据源选项

此数据源的可选配置 .

* * *

##### `addResolver`

```typescript
public addResolver(id: string, props: ExtendedResolverProps): Resolver
```

向 Api 添加解析器 .

这是 L2 GraphqlApi 构造的代理方法 .

###### `id`需求

-   _类型 :_ 字符串

解相者证相.

* * *

###### `props`需求

-   _类型 :_ aws-cdk-lib.aws appsync. 极限解决方案

解析器属性.

* * *

#### 静态函数

| **名称** | **说明** |
| --- | --- |
| `[isConstruct](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.isConstruct)` | 检查是否 `x` 是一个构造. |

* * *

##### ~`isConstruct`~

```typescript
import { AmplifyGraphqlApi } from '@aws-amplify/graphql-api-construct'

AmplifyGraphqlApi.isConstruct(x: any)
```

检查是否 `x` 是一个构造.

###### `x`需求

-   _类型 :_ 任意

任何物体.

* * *

#### 属性

| **名称** | **类型** | **说明** |
| --- | --- | --- |
| `[node](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.property.node)` | `constructs.Node` | 树节. |
| `[apiId](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.property.apiId)` | `string` | 生成了Api Id. |
| `[generatedFunctionSlots](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.property.generatedFunctionSlots)` | `[MutationFunctionSlot](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.MutationFunctionSlot) | [QueryFunctionSlot](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.QueryFunctionSlot) | [SubscriptionFunctionSlot](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.SubscriptionFunctionSlot)[]` | 变换过程产生的解析器在侧面被坚持下来,以便利为检查和制作超载而绘制出一个清单. |
| `[graphqlUrl](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.property.graphqlUrl)` | `string` | 图克l URL 对于生成的API. |
| `[realtimeUrl](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.property.realtimeUrl)` | `string` | 实时 URL 对于生成的API. |
| `[resources](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.property.resources)` | `[AmplifyGraphqlApiResources](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AmplifyGraphqlApiResources)` | 生成了L1和L2 CDK资源. |
| `[apiKey](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.property.apiKey)` | `string` | 生成 Api 密钥 . |

* * *

##### `node`需求

```typescript
public readonly node: Node;
```

-   _类型 :_ 构造 节点

树节.

* * *

##### `apiId`需求

```typescript
public readonly apiId: string;
```

-   _类型 :_ 字符串

生成了Api Id.

可能是一个CDK Token.

* * *

##### `generatedFunctionSlots`需求

```typescript
public readonly generatedFunctionSlots: MutationFunctionSlot | QueryFunctionSlot | SubscriptionFunctionSlot[];
```

-   _类型 :_ [变形功能槽](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.MutationFunctionSlot) | [查询功能槽](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.QueryFunctionSlot) | [订阅功能槽](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.SubscriptionFunctionSlot)\[

变换过程产生的解析器在侧面被坚持下来,以便利为检查和制作超载而绘制出一个清单.

* * *

##### `graphqlUrl`需求

```typescript
public readonly graphqlUrl: string;
```

-   _类型 :_ 字符串

图克l URL 对于生成的API.

可能是一个CDK Token.

* * *

##### `realtimeUrl`需求

```typescript
public readonly realtimeUrl: string;
```

-   _类型 :_ 字符串

实时 URL 对于生成的API.

可能是一个CDK Token.

* * *

##### `resources`需求

```typescript
public readonly resources: AmplifyGraphqlApiResources;
```

-   _类型 :_ [放大 GraphqlApi 资源](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AmplifyGraphqlApiResources)

生成了L1和L2 CDK资源.

* * *

##### `apiKey`可选

```typescript
public readonly apiKey: string;
```

-   _类型 :_ 字符串

生成 Api 密钥 .

可能是一个CDK Token.

* * *

## 字符串

### 添加功能选项

添加新appsync时输入类型属性 。 AppsyncFunction 到生成的API. 这相当于 Omit<appsync 。 AppsyncFunctionProps,"api" (英语:Appi).

#### 初始化器

```typescript
import { AddFunctionProps } from '@aws-amplify/graphql-api-construct'

const addFunctionProps: AddFunctionProps = { ... }
```

#### 属性

| **名称** | **类型** | **说明** |
| --- | --- | --- |
| `[dataSource](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AddFunctionProps.property.dataSource)` | `aws-cdk-lib.aws_appsync.BaseDataSource` | 与此 AppSync 函数相链接的数据源. |
| `[name](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AddFunctionProps.property.name)` | `string` | appSync 函数的名称. |
| `[code](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AddFunctionProps.property.code)` | `aws-cdk-lib.aws_appsync.Code` | 函数代码 . |
| `[description](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AddFunctionProps.property.description)` | `string` | 此 AppSync 函数的描述. |
| `[requestMappingTemplate](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AddFunctionProps.property.requestMappingTemplate)` | `aws-cdk-lib.aws_appsync.MappingTemplate` | appSync 函数的请求映射模板. |
| `[responseMappingTemplate](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AddFunctionProps.property.responseMappingTemplate)` | `aws-cdk-lib.aws_appsync.MappingTemplate` | appSync 函数的响应映射模板. |
| `[runtime](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AddFunctionProps.property.runtime)` | `aws-cdk-lib.aws_appsync.FunctionRuntime` | 函数运行时间 . |

* * *

##### `dataSource`需求

```typescript
public readonly dataSource: BaseDataSource;
```

-   _类型 :_ aws-cdk-lib.aws appsync.BaseData 源代码

与此 AppSync 函数相链接的数据源.

* * *

##### `name`需求

```typescript
public readonly name: string;
```

-   _类型 :_ 字符串

appSync 函数的名称.

* * *

##### `code`可选

```typescript
public readonly code: Code;
```

-   _类型 :_ aws-cdk-lib.aws appsync (英语). 代码
-   _默认 :_ 没有使用代码

函数代码 .

* * *

##### `description`可选

```typescript
public readonly description: string;
```

-   _类型 :_ 字符串
-   _默认 :_ 无描述

此 AppSync 函数的描述.

* * *

##### `requestMappingTemplate`可选

```typescript
public readonly requestMappingTemplate: MappingTemplate;
```

-   _类型 :_ aws-cdk-lib.aws appsync. 地图集
-   _默认 :_ 没有请求映射模板

appSync 函数的请求映射模板.

* * *

##### `responseMappingTemplate`可选

```typescript
public readonly responseMappingTemplate: MappingTemplate;
```

-   _类型 :_ aws-cdk-lib.aws appsync. 地图集
-   _默认 :_ 无响应映射模板

appSync 函数的响应映射模板.

* * *

##### `runtime`可选

```typescript
public readonly runtime: FunctionRuntime;
```

-   _类型 :_ aws-cdk-lib.aws appsync. 功能运行时
-   _默认 :_ 没有函数运行时间, 使用了 VTL 映射模板

函数运行时间 .

* * *

### 放大DynamoDb ModelData 源代码战略

使用自定义资源类型“ 海关: 复制 DynamoDB Table ” 到提供表 .

#### 初始化器

```typescript
import { AmplifyDynamoDbModelDataSourceStrategy } from '@aws-amplify/graphql-api-construct'

const amplifyDynamoDbModelDataSourceStrategy: AmplifyDynamoDbModelDataSourceStrategy = { ... }
```

#### 属性

| **名称** | **类型** | **说明** |
| --- | --- | --- |
| `[dbType](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AmplifyDynamoDbModelDataSourceStrategy.property.dbType)` | `string` | _没有描述._ |
| `[provisionStrategy](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AmplifyDynamoDbModelDataSourceStrategy.property.provisionStrategy)` | `string` | _没有描述._ |

* * *

##### `dbType`需求

```typescript
public readonly dbType: string;
```

-   _类型 :_ 字符串

* * *

##### `provisionStrategy`需求

```typescript
public readonly provisionStrategy: string;
```

-   _类型 :_ 字符串

* * *

### 放大 GraphqlApiCfn 资源

由 Api 生成的 L1 CDK 资源作为变换的一部分 .

这些可能储存在被嵌入的堆放下,但按类型排列.

#### 初始化器

```typescript
import { AmplifyGraphqlApiCfnResources } from '@aws-amplify/graphql-api-construct'

const amplifyGraphqlApiCfnResources: AmplifyGraphqlApiCfnResources = { ... }
```

#### 属性

| **名称** | **类型** | **说明** |
| --- | --- | --- |
| `[additionalCfnResources](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AmplifyGraphqlApiCfnResources.property.additionalCfnResources)` | `{[ key: string ]: aws-cdk-lib.CfnResource}` | 剩余的L1资源生成,由逻辑Id键入. |
| `[amplifyDynamoDbTables](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AmplifyGraphqlApiCfnResources.property.amplifyDynamoDbTables)` | `{[ key: string ]: [AmplifyDynamoDbTableWrapper](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AmplifyDynamoDbTableWrapper)}` | Genered Amplify DynamosDb Table L1资源包装器,按型号名称键取. |
| `[cfnDataSources](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AmplifyGraphqlApiCfnResources.property.cfnDataSources)` | `{[ key: string ]: aws-cdk-lib.aws_appsync.CfnDataSource}` | Generted AppSync Data Source L1资源,由逻辑Id键入. |
| `[cfnFunctionConfigurations](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AmplifyGraphqlApiCfnResources.property.cfnFunctionConfigurations)` | `{[ key: string ]: aws-cdk-lib.aws_appsync.CfnFunctionConfiguration}` | 生成 AppSync 函数 L1 资源, 由 logicalId 键入. |
| `[cfnFunctions](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AmplifyGraphqlApiCfnResources.property.cfnFunctions)` | `{[ key: string ]: aws-cdk-lib.aws_lambda.CfnFunction}` | 生成 Lambda 函数 L1 资源,按函数名键 . |
| `[cfnGraphqlApi](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AmplifyGraphqlApiCfnResources.property.cfnGraphqlApi)` | `aws-cdk-lib.aws_appsync.CfnGraphQLApi` | 生成 AppSync Api L1 资源. |
| `[cfnGraphqlSchema](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AmplifyGraphqlApiCfnResources.property.cfnGraphqlSchema)` | `aws-cdk-lib.aws_appsync.CfnGraphQLSchema` | 生成 AppSync Schema L1 资源. |
| `[cfnResolvers](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AmplifyGraphqlApiCfnResources.property.cfnResolvers)` | `{[ key: string ]: aws-cdk-lib.aws_appsync.CfnResolver}` | 生成 AppSync 解析器 L1 资源,由 logicalId 键入. |
| `[cfnRoles](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AmplifyGraphqlApiCfnResources.property.cfnRoles)` | `{[ key: string ]: aws-cdk-lib.aws_iam.CfnRole}` | 由逻辑Id键入的生成IAM角色L1资源. |
| `[cfnTables](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AmplifyGraphqlApiCfnResources.property.cfnTables)` | `{[ key: string ]: aws-cdk-lib.aws_dynamodb.CfnTable}` | 由逻辑Id键入的生成DynamoDB表 L1资源. |
| `[cfnApiKey](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AmplifyGraphqlApiCfnResources.property.cfnApiKey)` | `aws-cdk-lib.aws_appsync.CfnApiKey` | 生成 AppSync 键 L1 资源 . |

* * *

##### `additionalCfnResources`需求

```typescript
public readonly additionalCfnResources: {[ key: string ]: CfnResource};
```

-   _类型 :_ {\[键:字符串\]:aws-cdk-lib.CfnResource} (简体中文)

剩余的L1资源生成,由逻辑Id键入.

* * *

##### `amplifyDynamoDbTables`需求

```typescript
public readonly amplifyDynamoDbTables: {[ key: string ]: AmplifyDynamoDbTableWrapper};
```

-   _类型 :_ { \[键:字符串\] : [放大 DynamoDbTableWrapper 放大器](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AmplifyDynamoDbTableWrapper){\\fn黑体\\fs22\\bord1\\shad0\\3aHBE\\4aH00\\fscx67\\fscy66\\2cHFFFFFF\\3cH808080}你觉得呢

Genered Amplify DynamosDb Table L1资源包装器,按型号名称键取.

* * *

##### `cfnDataSources`需求

```typescript
public readonly cfnDataSources: {[ key: string ]: CfnDataSource};
```

-   _类型 :_ {\[密钥:字符串\]:aws-cdk-lib.aws appsync.CfnData source} (中文(简体) )

Generted AppSync Data Source L1资源,由逻辑Id键入.

* * *

##### `cfnFunctionConfigurations`需求

```typescript
public readonly cfnFunctionConfigurations: {[ key: string ]: CfnFunctionConfiguration};
```

-   _类型 :_ {\[键:字符串\]:aws-cdk-lib.aws appsync.CfnFunfuncation} 页面存档备份,存于互联网档案馆

生成 AppSync 函数 L1 资源, 由 logicalId 键入.

* * *

##### `cfnFunctions`需求

```typescript
public readonly cfnFunctions: {[ key: string ]: CfnFunction};
```

-   _类型 :_ {\[键:字符串\]:aws-cdk-lib.aws lambda.CfnFunction} (中文(简体) )

生成 Lambda 函数 L1 资源,按函数名键 .

* * *

##### `cfnGraphqlApi`需求

```typescript
public readonly cfnGraphqlApi: CfnGraphQLApi;
```

-   _类型 :_ aws-cdk-lib.aws appsync. CfnGraphQLApi 互联网档案馆的存檔,存档日期2013-12-02

生成 AppSync Api L1 资源.

* * *

##### `cfnGraphqlSchema`需求

```typescript
public readonly cfnGraphqlSchema: CfnGraphQLSchema;
```

-   _类型 :_ aws-cdk-lib.aws appsync. CfnGraphQLSchema (英语)

生成 AppSync Schema L1 资源.

* * *

##### `cfnResolvers`需求

```typescript
public readonly cfnResolvers: {[ key: string ]: CfnResolver};
```

-   _类型 :_ {\[键:字符串\]:aws-cdk-lib.aws appsync.CfnResolver} (中文(简体) )

生成 AppSync 解析器 L1 资源,由 logicalId 键入.

* * *

##### `cfnRoles`需求

```typescript
public readonly cfnRoles: {[ key: string ]: CfnRole};
```

-   _类型 :_ { \[键:字符串\]:aws-cdk-lib.aws iam.CfnRole}(英语:Aws-cdk-lib

由逻辑Id键入的生成IAM角色L1资源.

* * *

##### `cfnTables`需求

```typescript
public readonly cfnTables: {[ key: string ]: CfnTable};
```

-   _类型 :_ {\[键:字符串\]:aws-cdk-lib.aws dynamodb.CfnTable}\[克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克

由逻辑Id键入的生成DynamoDB表 L1资源.

* * *

##### `cfnApiKey`可选

```typescript
public readonly cfnApiKey: CfnApiKey;
```

-   _类型 :_ aws-cdk-lib.aws appsync. CfnApiKey (英语)

生成 AppSync 键 L1 资源 .

* * *

### 放大图像

Amplify GraphqlApi 构造的输入道具.

指定要转换成 Api 的输入和配置 转变过程.

#### 初始化器

```typescript
import { AmplifyGraphqlApiProps } from '@aws-amplify/graphql-api-construct'

const amplifyGraphqlApiProps: AmplifyGraphqlApiProps = { ... }
```

#### 属性

| **名称** | **类型** | **说明** |
| --- | --- | --- |
| `[authorizationModes](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AmplifyGraphqlApiProps.property.authorizationModes)` | `[AuthorizationModes](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AuthorizationModes)` | Api 需要认证模式 . |
| `[definition](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AmplifyGraphqlApiProps.property.definition)` | `[IAmplifyGraphqlDefinition](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.IAmplifyGraphqlDefinition)` | 在全 Api 中转换的定义 . |
| `[apiName](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AmplifyGraphqlApiProps.property.apiName)` | `string` | 用于 AppSync Api 的名称 . |
| `[conflictResolution](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AmplifyGraphqlApiProps.property.conflictResolution)` | `[ConflictResolution](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.ConflictResolution)` | 配置 Api 上的冲突解析, 启用 DataStore Api 功能需要它 . |
| `[dataStoreConfiguration](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AmplifyGraphqlApiProps.property.dataStoreConfiguration)` | `[DataStoreConfiguration](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.DataStoreConfiguration)` | 在 Api 上配置 DataStore 冲突解决方案 . |
| `[disableOutputStorage](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AmplifyGraphqlApiProps.property.disableOutputStorage)` | `boolean` | 禁用存储构造输出 . |
| `[functionNameMap](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AmplifyGraphqlApiProps.property.functionNameMap)` | `{[ key: string ]: aws-cdk-lib.aws_lambda.IFunction}` | 定义中引用了Lambda函数. |
| `[functionSlots](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AmplifyGraphqlApiProps.property.functionSlots)` | `[MutationFunctionSlot](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.MutationFunctionSlot) | [QueryFunctionSlot](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.QueryFunctionSlot) | [SubscriptionFunctionSlot](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.SubscriptionFunctionSlot)[]` | 覆盖生成的解析器管道中的指定槽 . |
| `[outputStorageStrategy](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AmplifyGraphqlApiProps.property.outputStorageStrategy)` | `[IBackendOutputStorageStrategy](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.IBackendOutputStorageStrategy)` | 储存产出的战略. |
| `[predictionsBucket](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AmplifyGraphqlApiProps.property.predictionsBucket)` | `aws-cdk-lib.aws_s3.IBucket` | 如果使用预测,则必须提供一桶,用于搜索资产. |
| `[stackMappings](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AmplifyGraphqlApiProps.property.stackMappings)` | `{[ key: string ]: string}` | StackMappings 在每个资源的基础上覆盖指定的嵌入式堆栈 . |
| `[transformerPlugins](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AmplifyGraphqlApiProps.property.transformerPlugins)` | `any[]` | 提供一份附加自定义变压器清单,这些变压器被注入变压过程. |
| `[translationBehavior](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AmplifyGraphqlApiProps.property.translationBehavior)` | `[PartialTranslationBehavior](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.PartialTranslationBehavior)` | 这取代了 Api 构造中的特征标记, 用于这些参数的通用信息 [https://docs.amplify.aws/cli/参考资料/feature-flags/#graphQL Transfer](https://docs.amplify.aws/cli/reference/feature-flags/#graphQLTransformer)。 。 。 . |

* * *

##### `authorizationModes`需求

```typescript
public readonly authorizationModes: AuthorizationModes;
```

-   _类型 :_ [授权模式](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AuthorizationModes)

Api 需要认证模式 .

此对象必须是 Api 定义中配置的认证提供者的超级集 . 更多信息,参见 [https://docs.amplify.aws/cli/graphql/ 授权-规则/](https://docs.amplify.aws/cli/graphql/authorization-rules/)

* * *

##### `definition`需求

```typescript
public readonly definition: IAmplifyGraphqlDefinition;
```

-   _类型 :_ [IAmplified Graphql 定义](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.IAmplifyGraphqlDefinition)

在全 Api 中转换的定义 .

可以通过 AmplifyGraphql 定义类构建 .

* * *

##### `apiName`可选

```typescript
public readonly apiName: string;
```

-   _类型 :_ 字符串

用于 AppSync Api 的名称 .

默认: 构造 id.

* * *

##### ~`conflictResolution`~可选

-   _折旧:_ 使用数据Store配置代替.

```typescript
public readonly conflictResolution: ConflictResolution;
```

-   _类型 :_ [解决冲突](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.ConflictResolution)

配置 Api 上的冲突解析, 启用 DataStore Api 功能需要它 .

更多信息,参见 [https://docs.amplify.aws/lib/datastore/getting-started/q/platform/js/ 互联网档案馆的存檔,存档日期2014-12-21](https://docs.amplify.aws/lib/datastore/getting-started/q/platform/js/)

* * *

##### `dataStoreConfiguration`可选

```typescript
public readonly dataStoreConfiguration: DataStoreConfiguration;
```

-   _类型 :_ [数据系统配置](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.DataStoreConfiguration)

在 Api 上配置 DataStore 冲突解决方案 .

要启用 DataStore Api 功能,需要冲突解决. 更多信息,参见 [https://docs.amplify.aws/lib/datastore/getting-started/q/platform/js/ 互联网档案馆的存檔,存档日期2014-12-21](https://docs.amplify.aws/lib/datastore/getting-started/q/platform/js/)

* * *

##### `disableOutputStorage`可选

```typescript
public readonly disableOutputStorage: boolean;
```

-   _类型 :_ 布尔

禁用存储构造输出 .

在单个CDK合成中创建多个GraphQL API时,输出存储应当被禁用. 如果设置为真, 则会忽略策略 .

* * *

##### `functionNameMap`可选

```typescript
public readonly functionNameMap: {[ key: string ]: IFunction};
```

-   _类型 :_ {\[键:字符串\]:aws-cdk-lib.aws lambda.IFunction} (简体中文)

定义中引用了Lambda函数.

* * *

##### `functionSlots`可选

```typescript
public readonly functionSlots: MutationFunctionSlot | QueryFunctionSlot | SubscriptionFunctionSlot[];
```

-   _类型 :_ [变形功能槽](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.MutationFunctionSlot) | [查询功能槽](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.QueryFunctionSlot) | [订阅功能槽](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.SubscriptionFunctionSlot)\[

覆盖生成的解析器管道中的指定槽 .

关于哪些空档的更多信息, 参考 [https://docs.amplify.aws/cli/graphql/custom-business-logic/#override-amplify-生成-resolvers (中文(简体) )](https://docs.amplify.aws/cli/graphql/custom-business-logic/#override-amplify-generated-resolvers)。 。 。 .

* * *

##### `outputStorageStrategy`可选

```typescript
public readonly outputStorageStrategy: IBackendOutputStorageStrategy;
```

-   _类型 :_ [后端输出策略](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.IBackendOutputStorageStrategy)

储存产出的战略.

如果不提供输出StorageStrategey,将使用默认策略.

* * *

##### `predictionsBucket`可选

```typescript
public readonly predictionsBucket: IBucket;
```

-   _类型 :_ aws-cdk-lib.aws s3.IBucket (英语)

如果使用预测,则必须提供一桶,用于搜索资产.

* * *

##### `stackMappings`可选

```typescript
public readonly stackMappings: {[ key: string ]: string};
```

-   _类型 :_ {\[键:字符串\]:字符串}

StackMappings 在每个资源的基础上覆盖指定的嵌入式堆栈 .

仅适用于解决者, 并采取形式 {: 除非遇到堆栈资源计数限制,否则不建议使用此参数 初始部署后 AppSync 解析器无法在嵌入式堆栈之间移动,需要从应用程序中移除, 然后从新的堆栈中重新添加.

* * *

##### `transformerPlugins`可选

```typescript
public readonly transformerPlugins: any[];
```

-   _类型 :_ 任何\[

提供一份附加自定义变压器清单,这些变压器被注入变压过程.

这些自定义变压器必须使用 aws-cdk-lib + 2.80.0 执行,以及

* * *

##### `translationBehavior`可选

```typescript
public readonly translationBehavior: PartialTranslationBehavior;
```

-   _类型 :_ [部分翻译行为](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.PartialTranslationBehavior)

这取代了 Api 构造中的特征标记, 用于这些参数的通用信息 [https://docs.amplify.aws/cli/参考资料/feature-flags/#graphQL Transfer](https://docs.amplify.aws/cli/reference/feature-flags/#graphQLTransformer)。 。 。 .

* * *

### 放大 GraphqlApi 资源

作为转型的一部分产生的Api资源.

这些可能储存在被嵌入的堆放下,但按类型排列.

#### 初始化器

```typescript
import { AmplifyGraphqlApiResources } from '@aws-amplify/graphql-api-construct'

const amplifyGraphqlApiResources: AmplifyGraphqlApiResources = { ... }
```

#### 属性

| **名称** | **类型** | **说明** |
| --- | --- | --- |
| `[cfnResources](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AmplifyGraphqlApiResources.property.cfnResources)` | `[AmplifyGraphqlApiCfnResources](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AmplifyGraphqlApiCfnResources)` | L1 Cfn Resources,因为当滴入了一定的抽象度是可取的. |
| `[functions](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AmplifyGraphqlApiResources.property.functions)` | `{[ key: string ]: aws-cdk-lib.aws_lambda.IFunction}` | 生成 Lambda 函数 L1 资源,按函数名键 . |
| `[graphqlApi](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AmplifyGraphqlApiResources.property.graphqlApi)` | `aws-cdk-lib.aws_appsync.IGraphqlApi` | Generated AppSync Api L2资源,包括了Schema. |
| `[nestedStacks](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AmplifyGraphqlApiResources.property.nestedStacks)` | `{[ key: string ]: aws-cdk-lib.NestedStack}` | 由 Api 构造生成的嵌入式堆栈 . |
| `[roles](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AmplifyGraphqlApiResources.property.roles)` | `{[ key: string ]: aws-cdk-lib.aws_iam.IRole}` | 由逻辑Id键入的生成IAM角色L2资源. |
| `[tables](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AmplifyGraphqlApiResources.property.tables)` | `{[ key: string ]: aws-cdk-lib.aws_dynamodb.ITable}` | 生成 DynamoDB 表 L2 资源,由逻辑Id 键入. |

* * *

##### `cfnResources`需求

```typescript
public readonly cfnResources: AmplifyGraphqlApiCfnResources;
```

-   _类型 :_ [放大 GraphqlApiCfn 资源](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AmplifyGraphqlApiCfnResources)

L1 Cfn Resources,因为当滴入了一定的抽象度是可取的.

* * *

##### `functions`需求

```typescript
public readonly functions: {[ key: string ]: IFunction};
```

-   _类型 :_ {\[键:字符串\]:aws-cdk-lib.aws lambda.IFunction} (简体中文)

生成 Lambda 函数 L1 资源,按函数名键 .

* * *

##### `graphqlApi`需求

```typescript
public readonly graphqlApi: IGraphqlApi;
```

-   _类型 :_ aws-cdk-lib.aws appsync. IGraphqlApi (英语)

Generated AppSync Api L2资源,包括了Schema.

* * *

##### `nestedStacks`需求

```typescript
public readonly nestedStacks: {[ key: string ]: NestedStack};
```

-   _类型 :_ {\[键:字符串\]:aws-cdk-lib. 内斯特德史密斯克

由 Api 构造生成的嵌入式堆栈 .

* * *

##### `roles`需求

```typescript
public readonly roles: {[ key: string ]: IRole};
```

-   _类型 :_ { \[键:字符串\]:aws-cdk-lib.aws iam. 滚开

由逻辑Id键入的生成IAM角色L2资源.

* * *

##### `tables`需求

```typescript
public readonly tables: {[ key: string ]: ITable};
```

-   _类型 :_ {\[键:字符串\]:aws-cdk-lib.aws dynamodb. (表单)

生成 DynamoDB 表 L2 资源,由逻辑Id 键入.

* * *

### ApiKey 认证组合

Graphql Api 上的 Api 密钥配置 .

#### 初始化器

```typescript
import { ApiKeyAuthorizationConfig } from '@aws-amplify/graphql-api-construct'

const apiKeyAuthorizationConfig: ApiKeyAuthorizationConfig = { ... }
```

#### 属性

| **名称** | **类型** | **说明** |
| --- | --- | --- |
| `[expires](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.ApiKeyAuthorizationConfig.property.expires)` | `aws-cdk-lib.Duration` | 从Cloudform部署到到期的时间. |
| `[description](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.ApiKeyAuthorizationConfig.property.description)` | `string` | 附加在 Api 上的 Api 密钥的可选描述 . |

* * *

##### `expires`需求

```typescript
public readonly expires: Duration;
```

-   _类型 :_ aws-cdk-lib (英语). 会期

从Cloudform部署到到期的时间.

* * *

##### `description`可选

```typescript
public readonly description: string;
```

-   _类型 :_ 字符串

附加在 Api 上的 Api 密钥的可选描述 .

* * *

### 授权模式

授权模式适用于 Api .

至少必须提供一种模式,如果提供一种以上的默认认证 必须指定模式. 关于Amplify Api auth的更多信息,请参见 [https://docs.amplify.aws/cli/graphql/授权-规则/#授权-战略](https://docs.amplify.aws/cli/graphql/authorization-rules/#authorization-strategies)

#### 初始化器

```typescript
import { AuthorizationModes } from '@aws-amplify/graphql-api-construct'

const authorizationModes: AuthorizationModes = { ... }
```

#### 属性

| **名称** | **类型** | **说明** |
| --- | --- | --- |
| `[adminRoles](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AuthorizationModes.property.adminRoles)` | `aws-cdk-lib.aws_iam.IRole[]` | 被赋予全R/W访问Api权限的角色列表. |
| `[apiKeyConfig](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AuthorizationModes.property.apiKeyConfig)` | `[ApiKeyAuthorizationConfig](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.ApiKeyAuthorizationConfig)` | AppSync Api 密钥配置, 如果在 Api 中指定了“ apiKey” 认证提供者, 则需要 . |
| `[defaultAuthorizationMode](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AuthorizationModes.property.defaultAuthorizationMode)` | `string` | 默认向 Api 提供的认证模式, 如果指定了多个配置类型, 则需要 . |
| `[iamConfig](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AuthorizationModes.property.iamConfig)` | `[IAMAuthorizationConfig](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.IAMAuthorizationConfig)` | IAM Auth 配置, 如果在 Api 中指定了“ iam” 认证提供者则需要 . |
| `[lambdaConfig](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AuthorizationModes.property.lambdaConfig)` | `[LambdaAuthorizationConfig](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.LambdaAuthorizationConfig)` | Lambda 配置, 如果在 Api 中指定了“ 函数” 认证提供者, 则需要 . |
| `[oidcConfig](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AuthorizationModes.property.oidcConfig)` | `[OIDCAuthorizationConfig](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.OIDCAuthorizationConfig)` | 如果在 Api 中指定了“ oidc” 认证提供者, 则需要 Cognitto OIDC 配置 . |
| `[userPoolConfig](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AuthorizationModes.property.userPoolConfig)` | `[UserPoolAuthorizationConfig](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.UserPoolAuthorizationConfig)` | Cognitto 用户Pool 配置, 如果在 Api 中指定了“ 用户Pools” 认证提供者, 则需要 . |

* * *

##### ~`adminRoles`~可选

-   _折旧:_ ,取而代之的是Iam Config.allow Listed Roles.

```typescript
public readonly adminRoles: IRole[];
```

-   _类型 :_ aws-cdk-lib.aws iam. IRole \[1\] (英语)

被赋予全R/W访问Api权限的角色列表.

* * *

##### `apiKeyConfig`可选

```typescript
public readonly apiKeyConfig: ApiKeyAuthorizationConfig;
```

-   _类型 :_ [ApiKey 认证组合](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.ApiKeyAuthorizationConfig)

AppSync Api 密钥配置, 如果在 Api 中指定了“ apiKey” 认证提供者, 则需要 .

用于“ 公用” 认证策略 .

* * *

##### `defaultAuthorizationMode`可选

```typescript
public readonly defaultAuthorizationMode: string;
```

-   _类型 :_ 字符串

默认向 Api 提供的认证模式, 如果指定了多个配置类型, 则需要 .

* * *

##### `iamConfig`可选

```typescript
public readonly iamConfig: IAMAuthorizationConfig;
```

-   _类型 :_ [IAMA认证配置](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.IAMAuthorizationConfig)

IAM Auth 配置, 如果在 Api 中指定了“ iam” 认证提供者则需要 .

适用于“ 公共” 和“ 私人” 认证策略 .

* * *

##### `lambdaConfig`可选

```typescript
public readonly lambdaConfig: LambdaAuthorizationConfig;
```

-   _类型 :_ [Lambda 认证](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.LambdaAuthorizationConfig)

Lambda 配置, 如果在 Api 中指定了“ 函数” 认证提供者, 则需要 .

适用于“ 海关” 认证策略 .

* * *

##### `oidcConfig`可选

```typescript
public readonly oidcConfig: OIDCAuthorizationConfig;
```

-   _类型 :_ [OIDCA认证配置](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.OIDCAuthorizationConfig)

如果在 Api 中指定了“ oidc” 认证提供者, 则需要 Cognitto OIDC 配置 .

适用于“ 所有人 ” 、 “ 私人 ” 和 “ 团体 ” 认证策略 .

* * *

##### `userPoolConfig`可选

```typescript
public readonly userPoolConfig: UserPoolAuthorizationConfig;
```

-   _类型 :_ [用户 PooLauthorization 配置](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.UserPoolAuthorizationConfig)

Cognitto 用户Pool 配置, 如果在 Api 中指定了“ 用户Pools” 认证提供者, 则需要 .

适用于“ 所有人 ” 、 “ 私人 ” 和 “ 团体 ” 认证策略 .

* * *

### 自动冲突解决战略

启用项目上的乐观货币 .

#### 初始化器

```typescript
import { AutomergeConflictResolutionStrategy } from '@aws-amplify/graphql-api-construct'

const automergeConflictResolutionStrategy: AutomergeConflictResolutionStrategy = { ... }
```

#### 属性

| **名称** | **类型** | **说明** |
| --- | --- | --- |
| `[detectionType](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AutomergeConflictResolutionStrategy.property.detectionType)` | `string` | 用于解决冲突的冲突检测类型. |
| `[handlerType](https://npmcn.com/package/%40aws-amplify/graphql-api-construct/#readme-@aws-amplify/graphql-api-construct.AutomergeConflictResolutionStrategy.property.handlerType)` | `string` | 这种解决冲突的战略是自动出现的. |

* * *

##### `detectionType`需求

```typescript
public readonly detectionType: string;
```

-   _类型 :_ 字符串

用于解决冲突的冲突检测类型.

* * *

##### `handlerType`需求

```typescript
public readonly handlerType: string;
```

-   _类型 :_ 字符串

这种解决冲突的战略是自动出现的.

更多信息,参见 [https://docs.aws.amazon.com/appsync/latest/devguide/冲突-探测-和-sync.html#冲突-探测-和-解析](https://docs.aws.amazon.com/appsync/latest/devguide/conflict-detection-and-sync.html#conflict-detection-and-resolution)

* * *

### 冲突解析<a name="冲突解析" id="@aws-amplify/graphql-a

## 常见问题

### @aws-amplify/graphql-api-construct 是什么？

AppSync GraphQL Api Construction 使用放大GraphQL变形器\.

### 如何安装 @aws-amplify/graphql-api-construct？

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

### @aws-amplify/graphql-api-construct 支持 TypeScript 吗？

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

### @aws-amplify/graphql-api-construct 支持 ESM 还是 CommonJS？

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

### @aws-amplify/graphql-api-construct 可以商用吗？

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

### @aws-amplify/graphql-api-construct 的下载量有多少？

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

### @aws-amplify/graphql-api-construct 还在维护吗？

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

