RdsDataSource¶
-
class
aws_cdk.aws_appsync.
RdsDataSource
(scope, id, *, secret_store, serverless_cluster, database_name=None, service_role=None, api, description=None, name=None)¶ Bases:
aws_cdk.aws_appsync.BackedDataSource
(experimental) An AppSync datasource backed by RDS.
- Stability
experimental
- 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( 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( 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]) """) )
- Parameters
scope (
Construct
) –id (
str
) –secret_store (
ISecret
) – (experimental) The secret containing the credentials for the database.serverless_cluster (
IServerlessCluster
) – (experimental) The serverless cluster to call to interact with this data source.database_name (
Optional
[str
]) – (experimental) The name of the database to use within the cluster. Default: - Noneservice_role (
Optional
[IRole
]) – (experimental) The IAM service role to be assumed by AppSync to interact with the data source. Default: - Create a new roleapi (
IGraphqlApi
) – (experimental) The API to attach this data source to.description (
Optional
[str
]) – (experimental) the description of the data source. Default: - Nonename (
Optional
[str
]) – (experimental) The name of the data source. Default: - id of data source
- Stability
experimental
Methods
-
create_function
(*, name, description=None, request_mapping_template=None, response_mapping_template=None)¶ (experimental) creates a new appsync function for this datasource and API using the given properties.
- Parameters
name (
str
) – (experimental) the name of the AppSync Function.description (
Optional
[str
]) – (experimental) the description for this AppSync Function. Default: - no descriptionrequest_mapping_template (
Optional
[MappingTemplate
]) – (experimental) the request mapping template for the AppSync Function. Default: - no request mapping templateresponse_mapping_template (
Optional
[MappingTemplate
]) – (experimental) the response mapping template for the AppSync Function. Default: - no response mapping template
- Stability
experimental
- Return type
-
create_resolver
(*, field_name, type_name, caching_config=None, pipeline_config=None, request_mapping_template=None, response_mapping_template=None)¶ (experimental) creates a new resolver for this datasource and API using the given properties.
- Parameters
field_name (
str
) – (experimental) name of the GraphQL field in the given type this resolver is attached to.type_name (
str
) – (experimental) name of the GraphQL type this resolver is attached to.caching_config (
Optional
[CachingConfig
]) – (experimental) The caching configuration for this resolver. Default: - No caching configurationpipeline_config (
Optional
[Sequence
[IAppsyncFunction
]]) – (experimental) 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
]) – (experimental) The request mapping template for this resolver. Default: - No mapping templateresponse_mapping_template (
Optional
[MappingTemplate
]) – (experimental) The response mapping template for this resolver. Default: - No mapping template
- Stability
experimental
- Return type
-
to_string
()¶ Returns a string representation of this construct.
- Return type
str
Attributes
-
ds
¶ (experimental) the underlying CFN data source resource.
- Stability
experimental
- Return type
-
grant_principal
¶ (experimental) the principal of the data source to be IGrantable.
- Stability
experimental
- Return type
-
name
¶ (experimental) the name of the data source.
- Stability
experimental
- Return type
str
-
node
¶ The construct tree node associated with this construct.
- Return type
Static Methods
-
classmethod
is_construct
(x)¶ Return whether the given object is a Construct.
- Parameters
x (
Any
) –- Return type
bool