class AppSyncRdsDataSource (construct)
| Language | Type name |
|---|---|
.NET | Amazon.CDK.AWS.AppSync.AppSyncRdsDataSource |
Go | github.com/aws/aws-cdk-go/awscdk/v2/awsappsync#AppSyncRdsDataSource |
Java | software.amazon.awscdk.services.appsync.AppSyncRdsDataSource |
Python | aws_cdk.aws_appsync.AppSyncRdsDataSource |
TypeScript (source) | aws-cdk-lib » aws_appsync » AppSyncRdsDataSource |
Implements
IConstruct, IDependable, IGrantable
An AppSync datasource backed by RDS.
Example
import * as secretsmanager from 'aws-cdk-lib/aws-secretsmanager';
declare const vpc: ec2.Vpc;
const databaseName = 'mydb';
const cluster = new rds.DatabaseCluster(this, 'Cluster', {
engine: rds.DatabaseClusterEngine.auroraPostgres({ version: rds.AuroraPostgresEngineVersion.VER_16_6 }),
writer: rds.ClusterInstance.serverlessV2('writer'),
vpc: vpc,
credentials: { username: 'clusteradmin' },
defaultDatabaseName: databaseName,
enableDataApi: true,
});
const secret = secretsmanager.Secret.fromSecretNameV2(this, 'Secret', 'db-secretName');
const api = new appsync.EventApi(this, 'EventApiRds', {
apiName: 'RdsEventApi',
});
const dataSource = api.addRdsDataSource('rdsds', cluster, secret, databaseName);
Initializer
new AppSyncRdsDataSource(scope: Construct, id: string, props: AppSyncRdsDataSourceProps)
Parameters
- scope
Construct - id
string - props
AppSync Rds Data Source Props
Construct Props
| Name | Type | Description |
|---|---|---|
| api | IApi | The API to attach this data source to. |
| secret | ISecret | The secret containing the credentials for the database. |
| serverless | IServerless | The serverless cluster to call to interact with this data source. |
| database | string | The name of the database to use within the cluster. |
| description? | string | The description of the data source. |
| name? | string | The name of the data source. |
| service | IRole | The IAM service role to be assumed by AppSync to interact with the data source. |
api
Type:
IApi
The API to attach this data source to.
secretStore
Type:
ISecret
The secret containing the credentials for the database.
serverlessCluster
Type:
IServerless
The serverless cluster to call to interact with this data source.
databaseName?
Type:
string
(optional, default: None)
The name of the database to use within the cluster.
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.
The only allowed pattern is: {[_A-Za-z][_0-9A-Za-z]*}. Any invalid characters will be automatically removed.
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
| Name | Type | Description |
|---|---|---|
| grant | IPrincipal | The principal of the data source to be IGrantable. |
| name | string | The name of the data source. |
| node | Node | The tree node. |
| resource | Cfn | 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.
resource
Type:
Cfn
The underlying CFN data source resource.
Methods
| Name | Description |
|---|---|
| to | Returns a string representation of this construct. |
toString()
public toString(): string
Returns
string
Returns a string representation of this construct.

.NET
Go
Java
Python
TypeScript (