Class DynamoDbDataSource
java.lang.Object
software.amazon.jsii.JsiiObject
software.constructs.Construct
software.amazon.awscdk.services.appsync.BaseDataSource
software.amazon.awscdk.services.appsync.BackedDataSource
software.amazon.awscdk.services.appsync.DynamoDbDataSource
- All Implemented Interfaces:
IGrantable
,software.amazon.jsii.JsiiSerializable
,software.constructs.IConstruct
,software.constructs.IDependable
@Generated(value="jsii-pacmak/1.104.0 (build e79254c)",
date="2024-11-06T23:25:04.452Z")
@Stability(Stable)
public class DynamoDbDataSource
extends BackedDataSource
An AppSync datasource backed by a DynamoDB table.
Example:
GraphqlApi api = GraphqlApi.Builder.create(this, "Api") .name("demo") .definition(Definition.fromFile(join(__dirname, "schema.graphql"))) .authorizationConfig(AuthorizationConfig.builder() .defaultAuthorization(AuthorizationMode.builder() .authorizationType(AuthorizationType.IAM) .build()) .build()) .xrayEnabled(true) .build(); Table demoTable = Table.Builder.create(this, "DemoTable") .partitionKey(Attribute.builder() .name("id") .type(AttributeType.STRING) .build()) .build(); DynamoDbDataSource demoDS = api.addDynamoDbDataSource("demoDataSource", demoTable); // Resolver for the Query "getDemos" that scans the DynamoDb table and returns the entire list. // Resolver Mapping Template Reference: // https://docs.aws.amazon.com/appsync/latest/devguide/resolver-mapping-template-reference-dynamodb.html demoDS.createResolver("QueryGetDemosResolver", BaseResolverProps.builder() .typeName("Query") .fieldName("getDemos") .requestMappingTemplate(MappingTemplate.dynamoDbScanTable()) .responseMappingTemplate(MappingTemplate.dynamoDbResultList()) .build()); // Resolver for the Mutation "addDemo" that puts the item into the DynamoDb table. demoDS.createResolver("MutationAddDemoResolver", BaseResolverProps.builder() .typeName("Mutation") .fieldName("addDemo") .requestMappingTemplate(MappingTemplate.dynamoDbPutItem(PrimaryKey.partition("id").auto(), Values.projecting("input"))) .responseMappingTemplate(MappingTemplate.dynamoDbResultItem()) .build()); //To enable DynamoDB read consistency with the `MappingTemplate`: demoDS.createResolver("QueryGetDemosConsistentResolver", BaseResolverProps.builder() .typeName("Query") .fieldName("getDemosConsistent") .requestMappingTemplate(MappingTemplate.dynamoDbScanTable(true)) .responseMappingTemplate(MappingTemplate.dynamoDbResultList()) .build());
-
Nested Class Summary
Nested classes/interfaces inherited from class software.amazon.jsii.JsiiObject
software.amazon.jsii.JsiiObject.InitializationMode
Nested classes/interfaces inherited from interface software.constructs.IConstruct
software.constructs.IConstruct.Jsii$Default
Nested classes/interfaces inherited from interface software.amazon.awscdk.services.iam.IGrantable
IGrantable.Jsii$Default
-
Constructor Summary
ModifierConstructorDescriptionprotected
DynamoDbDataSource
(software.amazon.jsii.JsiiObject.InitializationMode initializationMode) protected
DynamoDbDataSource
(software.amazon.jsii.JsiiObjectRef objRef) DynamoDbDataSource
(software.constructs.Construct scope, String id, DynamoDbDataSourceProps props) -
Method Summary
Methods inherited from class software.amazon.awscdk.services.appsync.BackedDataSource
getGrantPrincipal
Methods inherited from class software.amazon.awscdk.services.appsync.BaseDataSource
createFunction, createResolver, getApi, getDs, getName, getServiceRole, setApi, setServiceRole
Methods inherited from class software.constructs.Construct
getNode, isConstruct, toString
Methods inherited from class software.amazon.jsii.JsiiObject
jsiiAsyncCall, jsiiAsyncCall, jsiiCall, jsiiCall, jsiiGet, jsiiGet, jsiiSet, jsiiStaticCall, jsiiStaticCall, jsiiStaticGet, jsiiStaticGet, jsiiStaticSet, jsiiStaticSet
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface software.amazon.jsii.JsiiSerializable
$jsii$toJson
-
Constructor Details
-
DynamoDbDataSource
protected DynamoDbDataSource(software.amazon.jsii.JsiiObjectRef objRef) -
DynamoDbDataSource
protected DynamoDbDataSource(software.amazon.jsii.JsiiObject.InitializationMode initializationMode) -
DynamoDbDataSource
@Stability(Stable) public DynamoDbDataSource(@NotNull software.constructs.Construct scope, @NotNull String id, @NotNull DynamoDbDataSourceProps props) - Parameters:
scope
- This parameter is required.id
- This parameter is required.props
- This parameter is required.
-