aws-cdk-lib.aws_appsync.EventBridgeDataSource

class EventBridgeDataSource (construct)

LanguageType name
.NETAmazon.CDK.AWS.AppSync.EventBridgeDataSource
Gogithub.com/aws/aws-cdk-go/awscdk/v2/awsappsync#EventBridgeDataSource
Javasoftware.amazon.awscdk.services.appsync.EventBridgeDataSource
Pythonaws_cdk.aws_appsync.EventBridgeDataSource
TypeScript (source)aws-cdk-lib » aws_appsync » EventBridgeDataSource

Implements IConstruct, IDependable, IGrantable

An AppSync datasource backed by EventBridge.

Example

const api = new appsync.GraphqlApi(stack, 'EventBridgeApi', {
  name: 'EventBridgeApi',
  schema: appsync.SchemaFile.fromAsset(path.join(__dirname, 'appsync.eventbridge.graphql')),
});

const bus = new events.EventBus(stack, 'DestinationEventBus', {});

const dataSource = api.addEventBridgeDataSource('NoneDS', bus);

dataSource.createResolver('EventResolver', {
  typeName: 'Mutation',
  fieldName: 'emitEvent',
  requestMappingTemplate: appsync.MappingTemplate.fromFile('request.vtl'),
  responseMappingTemplate: appsync.MappingTemplate.fromFile('response.vtl'),
});

Initializer

new EventBridgeDataSource(scope: Construct, id: string, props: EventBridgeDataSourceProps)

Parameters

  • scope Construct
  • id string
  • props EventBridgeDataSourceProps

Construct Props

NameTypeDescription
apiIGraphqlApiThe API to attach this data source to.
eventBusIEventBusThe EventBridge EventBus.
description?stringthe description of the data source.
name?stringThe name of the data source.
serviceRole?IRoleThe IAM service role to be assumed by AppSync to interact with the data source.

api

Type: IGraphqlApi

The API to attach this data source to.


eventBus

Type: IEventBus

The EventBridge EventBus.


description?

Type: string (optional, default: None)

the description of the data source.


name?

Type: string (optional, default: id of data source)

The name of the data source.


serviceRole?

Type: IRole (optional, default: Create a new role)

The IAM service role to be assumed by AppSync to interact with the data source.

Properties

NameTypeDescription
dsCfnDataSourcethe underlying CFN data source resource.
grantPrincipalIPrincipalthe principal of the data source to be IGrantable.
namestringthe name of the data source.
nodeNodeThe tree node.

ds

Type: CfnDataSource

the underlying CFN data source resource.


grantPrincipal

Type: IPrincipal

the principal of the data source to be IGrantable.


name

Type: string

the name of the data source.


node

Type: Node

The tree node.

Methods

NameDescription
createFunction(id, props)creates a new appsync function for this datasource and API using the given properties.
createResolver(id, props)creates a new resolver for this datasource and API using the given properties.
toString()Returns a string representation of this construct.

createFunction(id, props)

public createFunction(id: string, props: BaseAppsyncFunctionProps): AppsyncFunction

Parameters

  • id string
  • props BaseAppsyncFunctionProps

Returns

  • AppsyncFunction

creates a new appsync function for this datasource and API using the given properties.


createResolver(id, props)

public createResolver(id: string, props: BaseResolverProps): Resolver

Parameters

  • id string
  • props BaseResolverProps

Returns

  • Resolver

creates a new resolver for this datasource and API using the given properties.


toString()

public toString(): string

Returns

  • string

Returns a string representation of this construct.