放大图形ql API 构造
此套件会 vend a L3 CDK Constructure 包裝了 Amplify GraphQL 变形器的行为. 这使得AppSync API能够快速开发并插入支持"放大图形QL指令". 关于GraphQL中计划模型的更多信息,请参见: 扩展开发者文件。 。 。 .
使用此构造的主要方式是用一个提供的 schema( 要么作为内置的图克字符串, 要么作为一个或多个) 引用它 appsync.SchemaFile(a) 物品,并附有授权配置。 AppSync API的授权有5个支持的方法,这些都由这个构造支持. 关于授权规则定义的更多信息,请参见: 授权文件注:目前至少需要一项授权规则,如果有多项授权,则需一项授权规则 defaultAuthorizationMode 必须在相片上指定。 指定的授权模式必须是在图克l schema中配置的这些模式的超级集.
实例
以 Cognitto 用户池为基础的所有者授权的简单待办事宜列表
在这个例子中,我们创建一个单一的模型,它将使用 user pool 认证以允许用户登录以创建和管理自己的 todos 私下.
我们创建了 Cdk App 和 Stack, 尽管您可能正在将它应用到自定义的堆栈中, 这纯粹是一个简洁的演示.
然后,我们通过电线导入一个已经部署的用户库(例如,创建和部署已超出范围).
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 密钥请求的客户只能读取权限 .
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 定义本身,而不是内置的图克字符串.
# todo.graphql
type Todo @model @auth(rules: [{ allow: owner }]) {
content: String!
done: Boolean
}
# 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
}
// 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/ 授权-规则/ 自定义商业逻辑 - https://docs.amplify.aws/cli/graphql/custom-business-logic/ 页面存档备份,存于互联网档案馆 搜索 - https://docs.amplify.aws/cli/graphql/search-和-result-agglections/ 互联网档案馆的存檔,存档日期2013-12-02 ML服务 https://docs.amplify.aws/cli/graphql/连接到机器-学习-服务/
关于支持的自定义图ql指令的全部参考 - https://docs.amplify.aws/cli/graphql/directives-reference/ 页面存档备份,存于互联网档案馆
此构造的输出是对变压器生成的L2或L1资源进行映射,一般遵循访问模式
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 动作.
初始化剂
import { AmplifyGraphqlApi } from '@aws-amplify/graphql-api-construct'
new AmplifyGraphqlApi(scope: Construct, id: string, props: AmplifyGraphqlApiProps)
| 名称 | 类型 | 说明 |
|---|---|---|
scope | constructs.Construct | 在内部创建这种构思的范围. |
id | string | 用于此 api 的 id . |
props | AmplifyGraphqlApiProps | 用于配置生成的 api 属性. |
scope需求
- 类型 : 构造 构造
在内部创建这种构思的范围.
id需求
- 类型 : 字符串
用于此 api 的 id .
props需求
- 类型 : 放大图像
用于配置生成的 api 属性.
方法
| 名称 | 说明 |
|---|---|
toString | 返回此构造的字符串表达式 . |
addDynamoDbDataSource | 在此API中添加一个新的 DynamoDB 数据源 . |
addElasticsearchDataSource | 在此 API 中添加一个新的弹性搜索数据源 . |
addEventBridgeDataSource | 在此 api 中添加 EventBridge 数据源 . |
addFunction | 向 api 添加一个辅助函数 . |
addHttpDataSource | 在此 API 中添加一个新的 http 数据源 . |
addLambdaDataSource | 在此 API 中添加一个新的 Lambda 数据源 . |
addNoneDataSource | 在此 API 中添加一个新的假数据源 . |
addOpenSearchDataSource | dd 一个新的 OpenSearch 数据源到此 API . |
addRdsDataSource | 在此 API 中添加一个新的 Rds 数据源 . |
addResolver | 向 Api 添加解析器 . |
toString
public toString(): string
返回此构造的字符串表达式 .
addDynamoDbDataSource
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
addElasticsearchDataSourcepublic 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
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
public addFunction(id: string, props: AddFunctionProps): AppsyncFunction
向 api 添加一个辅助函数 .
id需求
- 类型 : 字符串
函数为 id.
props需求
- 类型 : 添加功能选项
addHttpDataSource
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
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
public addNoneDataSource(id: string, options?: DataSourceOptions): NoneDataSource
在此 API 中添加一个新的假数据源 .
这是 L2 GraphqlApi 构造的代理方法 . 用于管道解析器和不需要数据源的后端修改.
id需求
- 类型 : 字符串
数据来源:ID.
options可选
- 类型 : aws-cdk-lib.aws appsync. 数据源选项
此数据源的可选配置 .
addOpenSearchDataSource
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
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
public addResolver(id: string, props: ExtendedResolverProps): Resolver
向 Api 添加解析器 .
这是 L2 GraphqlApi 构造的代理方法 .
id需求
- 类型 : 字符串
解相者证相.
props需求
- 类型 : aws-cdk-lib.aws appsync. 极限解决方案
解析器属性.
静态函数
| 名称 | 说明 |
|---|---|
isConstruct | 检查是否 x 是一个构造. |
isConstruct
isConstructimport { AmplifyGraphqlApi } from '@aws-amplify/graphql-api-construct'
AmplifyGraphqlApi.isConstruct(x: any)
检查是否 x 是一个构造.
x需求
- 类型 : 任意
任何物体.
属性
| 名称 | 类型 | 说明 |
|---|---|---|
node | constructs.Node | 树节. |
apiId | string | 生成了Api Id. |
generatedFunctionSlots | MutationFunctionSlot | QueryFunctionSlot | SubscriptionFunctionSlot[] | 变换过程产生的解析器在侧面被坚持下来,以便利为检查和制作超载而绘制出一个清单. |
graphqlUrl | string | 图克l URL 对于生成的API. |
realtimeUrl | string | 实时 URL 对于生成的API. |
resources | AmplifyGraphqlApiResources | 生成了L1和L2 CDK资源. |
apiKey | string | 生成 Api 密钥 . |
node需求
public readonly node: Node;
- 类型 : 构造 节点
树节.
apiId需求
public readonly apiId: string;
- 类型 : 字符串
生成了Api Id.
可能是一个CDK Token.
generatedFunctionSlots需求
public readonly generatedFunctionSlots: MutationFunctionSlot | QueryFunctionSlot | SubscriptionFunctionSlot[];
变换过程产生的解析器在侧面被坚持下来,以便利为检查和制作超载而绘制出一个清单.
graphqlUrl需求
public readonly graphqlUrl: string;
- 类型 : 字符串
图克l URL 对于生成的API.
可能是一个CDK Token.
realtimeUrl需求
public readonly realtimeUrl: string;
- 类型 : 字符串
实时 URL 对于生成的API.
可能是一个CDK Token.
resources需求
public readonly resources: AmplifyGraphqlApiResources;
- 类型 : 放大 GraphqlApi 资源
生成了L1和L2 CDK资源.
apiKey可选
public readonly apiKey: string;
- 类型 : 字符串
生成 Api 密钥 .
可能是一个CDK Token.
字符串
添加功能选项
添加新appsync时输入类型属性 。 AppsyncFunction 到生成的API. 这相当于 Omit<appsync 。 AppsyncFunctionProps,"api" (英语:Appi).
初始化器
import { AddFunctionProps } from '@aws-amplify/graphql-api-construct'
const addFunctionProps: AddFunctionProps = { ... }
属性
| 名称 | 类型 | 说明 |
|---|---|---|
dataSource | aws-cdk-lib.aws_appsync.BaseDataSource | 与此 AppSync 函数相链接的数据源. |
name | string | appSync 函数的名称. |
code | aws-cdk-lib.aws_appsync.Code | 函数代码 . |
description | string | 此 AppSync 函数的描述. |
requestMappingTemplate | aws-cdk-lib.aws_appsync.MappingTemplate | appSync 函数的请求映射模板. |
responseMappingTemplate | aws-cdk-lib.aws_appsync.MappingTemplate | appSync 函数的响应映射模板. |
runtime | aws-cdk-lib.aws_appsync.FunctionRuntime | 函数运行时间 . |
dataSource需求
public readonly dataSource: BaseDataSource;
- 类型 : aws-cdk-lib.aws appsync.BaseData 源代码
与此 AppSync 函数相链接的数据源.
name需求
public readonly name: string;
- 类型 : 字符串
appSync 函数的名称.
code可选
public readonly code: Code;
- 类型 : aws-cdk-lib.aws appsync (英语). 代码
- 默认 : 没有使用代码
函数代码 .
description可选
public readonly description: string;
- 类型 : 字符串
- 默认 : 无描述
此 AppSync 函数的描述.
requestMappingTemplate可选
public readonly requestMappingTemplate: MappingTemplate;
- 类型 : aws-cdk-lib.aws appsync. 地图集
- 默认 : 没有请求映射模板
appSync 函数的请求映射模板.
responseMappingTemplate可选
public readonly responseMappingTemplate: MappingTemplate;
- 类型 : aws-cdk-lib.aws appsync. 地图集
- 默认 : 无响应映射模板
appSync 函数的响应映射模板.
runtime可选
public readonly runtime: FunctionRuntime;
- 类型 : aws-cdk-lib.aws appsync. 功能运行时
- 默认 : 没有函数运行时间, 使用了 VTL 映射模板
函数运行时间 .
放大DynamoDb ModelData 源代码战略
使用自定义资源类型“ 海关: 复制 DynamoDB Table ” 到提供表 .
初始化器
import { AmplifyDynamoDbModelDataSourceStrategy } from '@aws-amplify/graphql-api-construct'
const amplifyDynamoDbModelDataSourceStrategy: AmplifyDynamoDbModelDataSourceStrategy = { ... }
属性
| 名称 | 类型 | 说明 |
|---|---|---|
dbType | string | 没有描述. |
provisionStrategy | string | 没有描述. |
dbType需求
public readonly dbType: string;
- 类型 : 字符串
provisionStrategy需求
public readonly provisionStrategy: string;
- 类型 : 字符串
放大 GraphqlApiCfn 资源
由 Api 生成的 L1 CDK 资源作为变换的一部分 .
这些可能储存在被嵌入的堆放下,但按类型排列.
初始化器
import { AmplifyGraphqlApiCfnResources } from '@aws-amplify/graphql-api-construct'
const amplifyGraphqlApiCfnResources: AmplifyGraphqlApiCfnResources = { ... }
属性
| 名称 | 类型 | 说明 |
|---|---|---|
additionalCfnResources | {[ key: string ]: aws-cdk-lib.CfnResource} | 剩余的L1资源生成,由逻辑Id键入. |
amplifyDynamoDbTables | {[ key: string ]: AmplifyDynamoDbTableWrapper} | Genered Amplify DynamosDb Table L1资源包装器,按型号名称键取. |
cfnDataSources | {[ key: string ]: aws-cdk-lib.aws_appsync.CfnDataSource} | Generted AppSync Data Source L1资源,由逻辑Id键入. |
cfnFunctionConfigurations | {[ key: string ]: aws-cdk-lib.aws_appsync.CfnFunctionConfiguration} | 生成 AppSync 函数 L1 资源, 由 logicalId 键入. |
cfnFunctions | {[ key: string ]: aws-cdk-lib.aws_lambda.CfnFunction} | 生成 Lambda 函数 L1 资源,按函数名键 . |
cfnGraphqlApi | aws-cdk-lib.aws_appsync.CfnGraphQLApi | 生成 AppSync Api L1 资源. |
cfnGraphqlSchema | aws-cdk-lib.aws_appsync.CfnGraphQLSchema | 生成 AppSync Schema L1 资源. |
cfnResolvers | {[ key: string ]: aws-cdk-lib.aws_appsync.CfnResolver} | 生成 AppSync 解析器 L1 资源,由 logicalId 键入. |
cfnRoles | {[ key: string ]: aws-cdk-lib.aws_iam.CfnRole} | 由逻辑Id键入的生成IAM角色L1资源. |
cfnTables | {[ key: string ]: aws-cdk-lib.aws_dynamodb.CfnTable} | 由逻辑Id键入的生成DynamoDB表 L1资源. |
cfnApiKey | aws-cdk-lib.aws_appsync.CfnApiKey | 生成 AppSync 键 L1 资源 . |
additionalCfnResources需求
public readonly additionalCfnResources: {[ key: string ]: CfnResource};
- 类型 : {[键:字符串]:aws-cdk-lib.CfnResource} (简体中文)
剩余的L1资源生成,由逻辑Id键入.
amplifyDynamoDbTables需求
public readonly amplifyDynamoDbTables: {[ key: string ]: AmplifyDynamoDbTableWrapper};
- 类型 : { [键:字符串] : 放大 DynamoDbTableWrapper 放大器{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢
Genered Amplify DynamosDb Table L1资源包装器,按型号名称键取.
cfnDataSources需求
public readonly cfnDataSources: {[ key: string ]: CfnDataSource};
- 类型 : {[密钥:字符串]:aws-cdk-lib.aws appsync.CfnData source} (中文(简体) )
Generted AppSync Data Source L1资源,由逻辑Id键入.
cfnFunctionConfigurations需求
public readonly cfnFunctionConfigurations: {[ key: string ]: CfnFunctionConfiguration};
- 类型 : {[键:字符串]:aws-cdk-lib.aws appsync.CfnFunfuncation} 页面存档备份,存于互联网档案馆
生成 AppSync 函数 L1 资源, 由 logicalId 键入.
cfnFunctions需求
public readonly cfnFunctions: {[ key: string ]: CfnFunction};
- 类型 : {[键:字符串]:aws-cdk-lib.aws lambda.CfnFunction} (中文(简体) )
生成 Lambda 函数 L1 资源,按函数名键 .
cfnGraphqlApi需求
public readonly cfnGraphqlApi: CfnGraphQLApi;
- 类型 : aws-cdk-lib.aws appsync. CfnGraphQLApi 互联网档案馆的存檔,存档日期2013-12-02
生成 AppSync Api L1 资源.
cfnGraphqlSchema需求
public readonly cfnGraphqlSchema: CfnGraphQLSchema;
- 类型 : aws-cdk-lib.aws appsync. CfnGraphQLSchema (英语)
生成 AppSync Schema L1 资源.
cfnResolvers需求
public readonly cfnResolvers: {[ key: string ]: CfnResolver};
- 类型 : {[键:字符串]:aws-cdk-lib.aws appsync.CfnResolver} (中文(简体) )
生成 AppSync 解析器 L1 资源,由 logicalId 键入.
cfnRoles需求
public readonly cfnRoles: {[ key: string ]: CfnRole};
- 类型 : { [键:字符串]:aws-cdk-lib.aws iam.CfnRole}(英语:Aws-cdk-lib
由逻辑Id键入的生成IAM角色L1资源.
cfnTables需求
public readonly cfnTables: {[ key: string ]: CfnTable};
- 类型 : {[键:字符串]:aws-cdk-lib.aws dynamodb.CfnTable}[克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克
由逻辑Id键入的生成DynamoDB表 L1资源.
cfnApiKey可选
public readonly cfnApiKey: CfnApiKey;
- 类型 : aws-cdk-lib.aws appsync. CfnApiKey (英语)
生成 AppSync 键 L1 资源 .
放大图像
Amplify GraphqlApi 构造的输入道具.
指定要转换成 Api 的输入和配置 转变过程.
初始化器
import { AmplifyGraphqlApiProps } from '@aws-amplify/graphql-api-construct'
const amplifyGraphqlApiProps: AmplifyGraphqlApiProps = { ... }
属性
| 名称 | 类型 | 说明 |
|---|---|---|
authorizationModes | AuthorizationModes | Api 需要认证模式 . |
definition | IAmplifyGraphqlDefinition | 在全 Api 中转换的定义 . |
apiName | string | 用于 AppSync Api 的名称 . |
conflictResolution | ConflictResolution | 配置 Api 上的冲突解析, 启用 DataStore Api 功能需要它 . |
dataStoreConfiguration | DataStoreConfiguration | 在 Api 上配置 DataStore 冲突解决方案 . |
disableOutputStorage | boolean | 禁用存储构造输出 . |
functionNameMap | {[ key: string ]: aws-cdk-lib.aws_lambda.IFunction} | 定义中引用了Lambda函数. |
functionSlots | MutationFunctionSlot | QueryFunctionSlot | SubscriptionFunctionSlot[] | 覆盖生成的解析器管道中的指定槽 . |
outputStorageStrategy | IBackendOutputStorageStrategy | 储存产出的战略. |
predictionsBucket | aws-cdk-lib.aws_s3.IBucket | 如果使用预测,则必须提供一桶,用于搜索资产. |
stackMappings | {[ key: string ]: string} | StackMappings 在每个资源的基础上覆盖指定的嵌入式堆栈 . |
transformerPlugins | any[] | 提供一份附加自定义变压器清单,这些变压器被注入变压过程. |
translationBehavior | PartialTranslationBehavior | 这取代了 Api 构造中的特征标记, 用于这些参数的通用信息 https://docs.amplify.aws/cli/参考资料/feature-flags/#graphQL Transfer。 。 。 . |
authorizationModes需求
public readonly authorizationModes: AuthorizationModes;
- 类型 : 授权模式
Api 需要认证模式 .
此对象必须是 Api 定义中配置的认证提供者的超级集 . 更多信息,参见 https://docs.amplify.aws/cli/graphql/ 授权-规则/
definition需求
public readonly definition: IAmplifyGraphqlDefinition;
在全 Api 中转换的定义 .
可以通过 AmplifyGraphql 定义类构建 .
apiName可选
public readonly apiName: string;
- 类型 : 字符串
用于 AppSync Api 的名称 .
默认: 构造 id.
conflictResolution可选
conflictResolution- 折旧: 使用数据Store配置代替.
public readonly conflictResolution: ConflictResolution;
- 类型 : 解决冲突
配置 Api 上的冲突解析, 启用 DataStore Api 功能需要它 .
更多信息,参见 https://docs.amplify.aws/lib/datastore/getting-started/q/platform/js/ 互联网档案馆的存檔,存档日期2014-12-21
dataStoreConfiguration可选
public readonly dataStoreConfiguration: DataStoreConfiguration;
- 类型 : 数据系统配置
在 Api 上配置 DataStore 冲突解决方案 .
要启用 DataStore Api 功能,需要冲突解决. 更多信息,参见 https://docs.amplify.aws/lib/datastore/getting-started/q/platform/js/ 互联网档案馆的存檔,存档日期2014-12-21
disableOutputStorage可选
public readonly disableOutputStorage: boolean;
- 类型 : 布尔
禁用存储构造输出 .
在单个CDK合成中创建多个GraphQL API时,输出存储应当被禁用. 如果设置为真, 则会忽略策略 .
functionNameMap可选
public readonly functionNameMap: {[ key: string ]: IFunction};
- 类型 : {[键:字符串]:aws-cdk-lib.aws lambda.IFunction} (简体中文)
定义中引用了Lambda函数.
functionSlots可选
public readonly functionSlots: MutationFunctionSlot | QueryFunctionSlot | SubscriptionFunctionSlot[];
覆盖生成的解析器管道中的指定槽 .
关于哪些空档的更多信息, 参考 https://docs.amplify.aws/cli/graphql/custom-business-logic/#override-amplify-生成-resolvers (中文(简体) )。 。 。 .
outputStorageStrategy可选
public readonly outputStorageStrategy: IBackendOutputStorageStrategy;
- 类型 : 后端输出策略
储存产出的战略.
如果不提供输出StorageStrategey,将使用默认策略.
predictionsBucket可选
public readonly predictionsBucket: IBucket;
- 类型 : aws-cdk-lib.aws s3.IBucket (英语)
如果使用预测,则必须提供一桶,用于搜索资产.
stackMappings可选
public readonly stackMappings: {[ key: string ]: string};
- 类型 : {[键:字符串]:字符串}
StackMappings 在每个资源的基础上覆盖指定的嵌入式堆栈 .
仅适用于解决者, 并采取形式 {: 除非遇到堆栈资源计数限制,否则不建议使用此参数 初始部署后 AppSync 解析器无法在嵌入式堆栈之间移动,需要从应用程序中移除, 然后从新的堆栈中重新添加.
transformerPlugins可选
public readonly transformerPlugins: any[];
- 类型 : 任何[
提供一份附加自定义变压器清单,这些变压器被注入变压过程.
这些自定义变压器必须使用 aws-cdk-lib + 2.80.0 执行,以及
translationBehavior可选
public readonly translationBehavior: PartialTranslationBehavior;
- 类型 : 部分翻译行为
这取代了 Api 构造中的特征标记, 用于这些参数的通用信息 https://docs.amplify.aws/cli/参考资料/feature-flags/#graphQL Transfer。 。 。 .
放大 GraphqlApi 资源
作为转型的一部分产生的Api资源.
这些可能储存在被嵌入的堆放下,但按类型排列.
初始化器
import { AmplifyGraphqlApiResources } from '@aws-amplify/graphql-api-construct'
const amplifyGraphqlApiResources: AmplifyGraphqlApiResources = { ... }
属性
| 名称 | 类型 | 说明 |
|---|---|---|
cfnResources | AmplifyGraphqlApiCfnResources | L1 Cfn Resources,因为当滴入了一定的抽象度是可取的. |
functions | {[ key: string ]: aws-cdk-lib.aws_lambda.IFunction} | 生成 Lambda 函数 L1 资源,按函数名键 . |
graphqlApi | aws-cdk-lib.aws_appsync.IGraphqlApi | Generated AppSync Api L2资源,包括了Schema. |
nestedStacks | {[ key: string ]: aws-cdk-lib.NestedStack} | 由 Api 构造生成的嵌入式堆栈 . |
roles | {[ key: string ]: aws-cdk-lib.aws_iam.IRole} | 由逻辑Id键入的生成IAM角色L2资源. |
tables | {[ key: string ]: aws-cdk-lib.aws_dynamodb.ITable} | 生成 DynamoDB 表 L2 资源,由逻辑Id 键入. |
cfnResources需求
public readonly cfnResources: AmplifyGraphqlApiCfnResources;
- 类型 : 放大 GraphqlApiCfn 资源
L1 Cfn Resources,因为当滴入了一定的抽象度是可取的.
functions需求
public readonly functions: {[ key: string ]: IFunction};
- 类型 : {[键:字符串]:aws-cdk-lib.aws lambda.IFunction} (简体中文)
生成 Lambda 函数 L1 资源,按函数名键 .
graphqlApi需求
public readonly graphqlApi: IGraphqlApi;
- 类型 : aws-cdk-lib.aws appsync. IGraphqlApi (英语)
Generated AppSync Api L2资源,包括了Schema.
nestedStacks需求
public readonly nestedStacks: {[ key: string ]: NestedStack};
- 类型 : {[键:字符串]:aws-cdk-lib. 内斯特德史密斯克
由 Api 构造生成的嵌入式堆栈 .
roles需求
public readonly roles: {[ key: string ]: IRole};
- 类型 : { [键:字符串]:aws-cdk-lib.aws iam. 滚开
由逻辑Id键入的生成IAM角色L2资源.
tables需求
public readonly tables: {[ key: string ]: ITable};
- 类型 : {[键:字符串]:aws-cdk-lib.aws dynamodb. (表单)
生成 DynamoDB 表 L2 资源,由逻辑Id 键入.
ApiKey 认证组合
Graphql Api 上的 Api 密钥配置 .
初始化器
import { ApiKeyAuthorizationConfig } from '@aws-amplify/graphql-api-construct'
const apiKeyAuthorizationConfig: ApiKeyAuthorizationConfig = { ... }
属性
| 名称 | 类型 | 说明 |
|---|---|---|
expires | aws-cdk-lib.Duration | 从Cloudform部署到到期的时间. |
description | string | 附加在 Api 上的 Api 密钥的可选描述 . |
expires需求
public readonly expires: Duration;
- 类型 : aws-cdk-lib (英语). 会期
从Cloudform部署到到期的时间.
description可选
public readonly description: string;
- 类型 : 字符串
附加在 Api 上的 Api 密钥的可选描述 .
授权模式
授权模式适用于 Api .
至少必须提供一种模式,如果提供一种以上的默认认证 必须指定模式. 关于Amplify Api auth的更多信息,请参见 https://docs.amplify.aws/cli/graphql/授权-规则/#授权-战略
初始化器
import { AuthorizationModes } from '@aws-amplify/graphql-api-construct'
const authorizationModes: AuthorizationModes = { ... }
属性
| 名称 | 类型 | 说明 |
|---|---|---|
adminRoles | aws-cdk-lib.aws_iam.IRole[] | 被赋予全R/W访问Api权限的角色列表. |
apiKeyConfig | ApiKeyAuthorizationConfig | AppSync Api 密钥配置, 如果在 Api 中指定了“ apiKey” 认证提供者, 则需要 . |
defaultAuthorizationMode | string | 默认向 Api 提供的认证模式, 如果指定了多个配置类型, 则需要 . |
iamConfig | IAMAuthorizationConfig | IAM Auth 配置, 如果在 Api 中指定了“ iam” 认证提供者则需要 . |
lambdaConfig | LambdaAuthorizationConfig | Lambda 配置, 如果在 Api 中指定了“ 函数” 认证提供者, 则需要 . |
oidcConfig | OIDCAuthorizationConfig | 如果在 Api 中指定了“ oidc” 认证提供者, 则需要 Cognitto OIDC 配置 . |
userPoolConfig | UserPoolAuthorizationConfig | Cognitto 用户Pool 配置, 如果在 Api 中指定了“ 用户Pools” 认证提供者, 则需要 . |
adminRoles可选
adminRoles- 折旧: ,取而代之的是Iam Config.allow Listed Roles.
public readonly adminRoles: IRole[];
- 类型 : aws-cdk-lib.aws iam. IRole [1] (英语)
被赋予全R/W访问Api权限的角色列表.
apiKeyConfig可选
public readonly apiKeyConfig: ApiKeyAuthorizationConfig;
- 类型 : ApiKey 认证组合
AppSync Api 密钥配置, 如果在 Api 中指定了“ apiKey” 认证提供者, 则需要 .
用于“ 公用” 认证策略 .
defaultAuthorizationMode可选
public readonly defaultAuthorizationMode: string;
- 类型 : 字符串
默认向 Api 提供的认证模式, 如果指定了多个配置类型, 则需要 .
iamConfig可选
public readonly iamConfig: IAMAuthorizationConfig;
- 类型 : IAMA认证配置
IAM Auth 配置, 如果在 Api 中指定了“ iam” 认证提供者则需要 .
适用于“ 公共” 和“ 私人” 认证策略 .
lambdaConfig可选
public readonly lambdaConfig: LambdaAuthorizationConfig;
- 类型 : Lambda 认证
Lambda 配置, 如果在 Api 中指定了“ 函数” 认证提供者, 则需要 .
适用于“ 海关” 认证策略 .
oidcConfig可选
public readonly oidcConfig: OIDCAuthorizationConfig;
- 类型 : OIDCA认证配置
如果在 Api 中指定了“ oidc” 认证提供者, 则需要 Cognitto OIDC 配置 .
适用于“ 所有人 ” 、 “ 私人 ” 和 “ 团体 ” 认证策略 .
userPoolConfig可选
public readonly userPoolConfig: UserPoolAuthorizationConfig;
Cognitto 用户Pool 配置, 如果在 Api 中指定了“ 用户Pools” 认证提供者, 则需要 .
适用于“ 所有人 ” 、 “ 私人 ” 和 “ 团体 ” 认证策略 .
自动冲突解决战略
启用项目上的乐观货币 .
初始化器
import { AutomergeConflictResolutionStrategy } from '@aws-amplify/graphql-api-construct'
const automergeConflictResolutionStrategy: AutomergeConflictResolutionStrategy = { ... }
属性
| 名称 | 类型 | 说明 |
|---|---|---|
detectionType | string | 用于解决冲突的冲突检测类型. |
handlerType | string | 这种解决冲突的战略是自动出现的. |
detectionType需求
public readonly detectionType: string;
- 类型 : 字符串
用于解决冲突的冲突检测类型.
handlerType需求
public readonly handlerType: string;
- 类型 : 字符串
这种解决冲突的战略是自动出现的.
更多信息,参见 https://docs.aws.amazon.com/appsync/latest/devguide/冲突-探测-和-sync.html#冲突-探测-和-解析