class DynamoDbDataSource (construct)
| Language | Type name | 
|---|---|
|  .NET | Amazon.CDK.AWS.AppSync.DynamoDbDataSource | 
|  Java | software.amazon.awscdk.services.appsync.DynamoDbDataSource | 
|  Python | aws_cdk.aws_appsync.DynamoDbDataSource | 
|  TypeScript (source) | @aws-cdk/aws-appsyncยปDynamoDbDataSource | 
Implements
IConstruct, IConstruct, IDependable, IGrantable
An AppSync datasource backed by a DynamoDB table.
Example
const api = new appsync.GraphqlApi(this, 'Api', {
  name: 'demo',
  schema: appsync.Schema.fromAsset(path.join(__dirname, 'schema.graphql')),
  authorizationConfig: {
    defaultAuthorization: {
      authorizationType: appsync.AuthorizationType.IAM,
    },
  },
  xrayEnabled: true,
});
const demoTable = new dynamodb.Table(this, 'DemoTable', {
  partitionKey: {
    name: 'id',
    type: dynamodb.AttributeType.STRING,
  },
});
const demoDS = api.addDynamoDbDataSource('demoDataSource', demoTable);
// Resolver for the Query "getDemos" that scans the DynamoDb table and returns the entire list.
demoDS.createResolver({
  typeName: 'Query',
  fieldName: 'getDemos',
  requestMappingTemplate: appsync.MappingTemplate.dynamoDbScanTable(),
  responseMappingTemplate: appsync.MappingTemplate.dynamoDbResultList(),
});
// Resolver for the Mutation "addDemo" that puts the item into the DynamoDb table.
demoDS.createResolver({
  typeName: 'Mutation',
  fieldName: 'addDemo',
  requestMappingTemplate: appsync.MappingTemplate.dynamoDbPutItem(
    appsync.PrimaryKey.partition('id').auto(),
    appsync.Values.projecting('input'),
  ),
  responseMappingTemplate: appsync.MappingTemplate.dynamoDbResultItem(),
});
Initializer
new DynamoDbDataSource(scope: Construct, id: string, props: DynamoDbDataSourceProps)
Parameters
- scope Construct
- id string
- props DynamoDb Data Source Props 
Construct Props
| Name | Type | Description | 
|---|---|---|
| api | IGraphql | The API to attach this data source to. | 
| table | ITable | The DynamoDB table backing this data source. | 
| description? | string | the description of the data source. | 
| name? | string | The name of the data source. | 
| read | boolean | Specify whether this DS is read only or has read and write permissions to the DynamoDB table. | 
| service | IRole | The IAM service role to be assumed by AppSync to interact with the data source. | 
| use | boolean | use credentials of caller to access DynamoDB. | 
api
Type:
IGraphql
The API to attach this data source to.
table
Type:
ITable
The DynamoDB table backing this data source.
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.
readOnlyAccess?
Type:
boolean
(optional, default: false)
Specify whether this DS is read only or has read and write permissions to the DynamoDB table.
serviceRole?
Type:
IRole
(optional, default:  Create a new role)
The IAM service role to be assumed by AppSync to interact with the data source.
useCallerCredentials?
Type:
boolean
(optional, default: false)
use credentials of caller to access DynamoDB.
Properties
| Name | Type | Description | 
|---|---|---|
| ds | Cfn | the underlying CFN data source resource. | 
| grant | IPrincipal | the principal of the data source to be IGrantable. | 
| name | string | the name of the data source. | 
| node | Construct | The construct tree node associated with this construct. | 
ds
Type:
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:
Construct
The construct tree node associated with this construct.
Methods
| Name | Description | 
|---|---|
| create | creates a new appsync function for this datasource and API using the given properties. | 
| create | creates a new resolver for this datasource and API using the given properties. | 
| to | Returns a string representation of this construct. | 
createFunction(props) 
public createFunction(props: BaseAppsyncFunctionProps): AppsyncFunction
Parameters
- props BaseAppsync Function Props 
Returns
creates a new appsync function for this datasource and API using the given properties.
createResolver(props) 
public createResolver(props: BaseResolverProps): Resolver
Parameters
- props BaseResolver Props 
Returns
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.
