BaseResolverProps
- class aws_cdk.aws_appsync.BaseResolverProps(*, field_name, type_name, caching_config=None, code=None, max_batch_size=None, pipeline_config=None, request_mapping_template=None, response_mapping_template=None, runtime=None)
Bases:
object
Basic properties for an AppSync resolver.
- Parameters:
field_name (
str
) – name of the GraphQL field in the given type this resolver is attached to.type_name (
str
) – name of the GraphQL type this resolver is attached to.caching_config (
Union
[CachingConfig
,Dict
[str
,Any
],None
]) – The caching configuration for this resolver. Default: - No caching configurationcode (
Optional
[Code
]) – The function code. Default: - no code is usedmax_batch_size (
Union
[int
,float
,None
]) – The maximum number of elements per batch, when using batch invoke. Default: - No max batch sizepipeline_config (
Optional
[Sequence
[IAppsyncFunction
]]) – configuration of the pipeline resolver. Default: - no pipeline resolver configuration An empty array | undefined sets resolver to be of kind, unitrequest_mapping_template (
Optional
[MappingTemplate
]) – The request mapping template for this resolver. Default: - No mapping templateresponse_mapping_template (
Optional
[MappingTemplate
]) – The response mapping template for this resolver. Default: - No mapping templateruntime (
Optional
[FunctionRuntime
]) – The functions runtime. Default: - no function runtime, VTL mapping templates used
- ExampleMetadata:
infused
Example:
# Build a data source for AppSync to access the database. # api: appsync.GraphqlApi # Create username and password secret for DB Cluster secret = rds.DatabaseSecret(self, "AuroraSecret", username="clusteradmin" ) # The VPC to place the cluster in vpc = ec2.Vpc(self, "AuroraVpc") # Create the serverless cluster, provide all values needed to customise the database. cluster = rds.ServerlessCluster(self, "AuroraCluster", engine=rds.DatabaseClusterEngine.AURORA_MYSQL, vpc=vpc, credentials={"username": "clusteradmin"}, cluster_identifier="db-endpoint-test", default_database_name="demos" ) rds_dS = api.add_rds_data_source("rds", cluster, secret, "demos") # Set up a resolver for an RDS query. rds_dS.create_resolver("QueryGetDemosRdsResolver", type_name="Query", field_name="getDemosRds", request_mapping_template=appsync.MappingTemplate.from_string(""" { "version": "2018-05-29", "statements": [ "SELECT * FROM demos" ] } """), response_mapping_template=appsync.MappingTemplate.from_string(""" $utils.toJson($utils.rds.toJsonObject($ctx.result)[0]) """) ) # Set up a resolver for an RDS mutation. rds_dS.create_resolver("MutationAddDemoRdsResolver", type_name="Mutation", field_name="addDemoRds", request_mapping_template=appsync.MappingTemplate.from_string(""" { "version": "2018-05-29", "statements": [ "INSERT INTO demos VALUES (:id, :version)", "SELECT * WHERE id = :id" ], "variableMap": { ":id": $util.toJson($util.autoId()), ":version": $util.toJson($ctx.args.version) } } """), response_mapping_template=appsync.MappingTemplate.from_string(""" $utils.toJson($utils.rds.toJsonObject($ctx.result)[1][0]) """) )
Attributes
- caching_config
The caching configuration for this resolver.
- Default:
No caching configuration
- code
The function code.
- Default:
no code is used
- field_name
name of the GraphQL field in the given type this resolver is attached to.
- max_batch_size
The maximum number of elements per batch, when using batch invoke.
- Default:
No max batch size
- pipeline_config
configuration of the pipeline resolver.
- Default:
no pipeline resolver configuration
An empty array | undefined sets resolver to be of kind, unit
- request_mapping_template
The request mapping template for this resolver.
- Default:
No mapping template
- response_mapping_template
The response mapping template for this resolver.
- Default:
No mapping template
- runtime
The functions runtime.
- Default:
no function runtime, VTL mapping templates used
- type_name
name of the GraphQL type this resolver is attached to.