OpenSearchDataSource

class aws_cdk.aws_appsync.OpenSearchDataSource(scope, id, *, domain, service_role=None, api, description=None, name=None)

Bases: BackedDataSource

(experimental) An Appsync datasource backed by OpenSearch.

Stability:

experimental

ExampleMetadata:

infused

Example:

import aws_cdk.aws_opensearchservice as opensearch

# api: appsync.GraphqlApi


user = iam.User(self, "User")
domain = opensearch.Domain(self, "Domain",
    version=opensearch.EngineVersion.OPENSEARCH_1_2,
    removal_policy=RemovalPolicy.DESTROY,
    fine_grained_access_control=opensearch.AdvancedSecurityOptions(master_user_arn=user.user_arn),
    encryption_at_rest=opensearch.EncryptionAtRestOptions(enabled=True),
    node_to_node_encryption=True,
    enforce_https=True
)
ds = api.add_open_search_data_source("ds", domain)

ds.create_resolver(
    type_name="Query",
    field_name="getTests",
    request_mapping_template=appsync.MappingTemplate.from_string(JSON.stringify({
        "version": "2017-02-28",
        "operation": "GET",
        "path": "/id/post/_search",
        "params": {
            "headers": {},
            "query_string": {},
            "body": {"from": 0, "size": 50}
        }
    })),
    response_mapping_template=appsync.MappingTemplate.from_string("""[
            #foreach($entry in $context.result.hits.hits)
            #if( $velocityCount > 1 ) , #end
            $utils.toJson($entry.get("_source"))
            #end
          ]""")
)
Parameters:
  • scope (Construct) –

  • id (str) –

  • domain (IDomain) – (experimental) The OpenSearch domain containing the endpoint for the data source.

  • service_role (Optional[IRole]) – (experimental) The IAM service role to be assumed by AppSync to interact with the data source. Default: - Create a new role

  • api (IGraphqlApi) – (experimental) The API to attach this data source to.

  • description (Optional[str]) – (experimental) the description of the data source. Default: - None

  • name (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 description

  • request_mapping_template (Optional[MappingTemplate]) – (experimental) the request mapping template for the AppSync Function. Default: - no request mapping template

  • response_mapping_template (Optional[MappingTemplate]) – (experimental) the response mapping template for the AppSync Function. Default: - no response mapping template

Stability:

experimental

Return type:

AppsyncFunction

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 (Union[CachingConfig, Dict[str, Any], None]) – (experimental) The caching configuration for this resolver. Default: - No caching configuration

  • pipeline_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, unit

  • request_mapping_template (Optional[MappingTemplate]) – (experimental) The request mapping template for this resolver. Default: - No mapping template

  • response_mapping_template (Optional[MappingTemplate]) – (experimental) The response mapping template for this resolver. Default: - No mapping template

Stability:

experimental

Return type:

Resolver

to_string()

Returns a string representation of this construct.

Return type:

str

Attributes

ds

(experimental) the underlying CFN data source resource.

Stability:

experimental

grant_principal

(experimental) the principal of the data source to be IGrantable.

Stability:

experimental

name

(experimental) the name of the data source.

Stability:

experimental

node

The construct tree node associated with this construct.

Static Methods

classmethod is_construct(x)

Return whether the given object is a Construct.

Parameters:

x (Any) –

Return type:

bool