Skip to content
v2.275.0

CfnDataSourceProps Struct ​

Properties for defining a CfnDataSource.

Example ​

ts
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { aws_appsync as appsync } from 'aws-cdk-lib';
const cfnDataSourceProps: appsync.CfnDataSourceProps = {
  apiId: 'apiId',
  name: 'name',
  type: 'type',

  // the properties below are optional
  description: 'description',
  dynamoDbConfig: {
    awsRegion: 'awsRegion',
    tableName: 'tableName',

    // the properties below are optional
    deltaSyncConfig: {
      baseTableTtl: 'baseTableTtl',
      deltaSyncTableName: 'deltaSyncTableName',
      deltaSyncTableTtl: 'deltaSyncTableTtl',
    },
    useCallerCredentials: false,
    versioned: false,
  },
  elasticsearchConfig: {
    awsRegion: 'awsRegion',
    endpoint: 'endpoint',
  },
  eventBridgeConfig: {
    eventBusArn: 'eventBusArn',
  },
  httpConfig: {
    endpoint: 'endpoint',

    // the properties below are optional
    authorizationConfig: {
      authorizationType: 'authorizationType',

      // the properties below are optional
      awsIamConfig: {
        signingRegion: 'signingRegion',
        signingServiceName: 'signingServiceName',
      },
    },
  },
  lambdaConfig: {
    lambdaFunctionArn: 'lambdaFunctionArn',
  },
  metricsConfig: 'metricsConfig',
  openSearchServiceConfig: {
    awsRegion: 'awsRegion',
    endpoint: 'endpoint',
  },
  relationalDatabaseConfig: {
    relationalDatabaseSourceType: 'relationalDatabaseSourceType',

    // the properties below are optional
    rdsHttpEndpointConfig: {
      awsRegion: 'awsRegion',
      awsSecretStoreArn: 'awsSecretStoreArn',
      dbClusterIdentifier: 'dbClusterIdentifier',

      // the properties below are optional
      databaseName: 'databaseName',
      schema: 'schema',
    },
  },
  serviceRoleArn: 'serviceRoleArn',
};

Properties ​

apiIdstringapi_idstrapiIdStringApiIdstringApiId*stringrequired#
Unique AWS AppSync GraphQL API identifier where this data source will be created.
descriptionoptionalstringdescriptionoptionalstrdescriptionoptionalStringDescriptionoptionalstringDescriptionoptional*string#
The description of the data source.
dynamoDbConfigoptionalIResolvable | CfnDataSource.DynamoDBConfigPropertydynamo_db_configoptionaltyping.Union[IResolvable, DynamoDBConfigProperty]dynamoDbConfigoptionalIResolvableDynamoDbConfigoptionalIResolvableDynamoDbConfigoptionalinterface{}#
AWS Region and TableName for an Amazon DynamoDB table in your account.
elasticsearchConfigoptionalIResolvable | CfnDataSource.ElasticsearchConfigPropertyelasticsearch_configoptionaltyping.Union[IResolvable, ElasticsearchConfigProperty]elasticsearchConfigoptionalIResolvableElasticsearchConfigoptionalIResolvableElasticsearchConfigoptionalinterface{}deprecated#
this property has been deprecated
eventBridgeConfigoptionalIResolvable | CfnDataSource.EventBridgeConfigPropertyevent_bridge_configoptionaltyping.Union[IResolvable, EventBridgeConfigProperty]eventBridgeConfigoptionalIResolvableEventBridgeConfigoptionalIResolvableEventBridgeConfigoptionalinterface{}#
An EventBridge configuration that contains a valid ARN of an event bus.
httpConfigoptionalIResolvable | CfnDataSource.HttpConfigPropertyhttp_configoptionaltyping.Union[IResolvable, HttpConfigProperty]httpConfigoptionalIResolvableHttpConfigoptionalIResolvableHttpConfigoptionalinterface{}#
Endpoints for an HTTP data source.
lambdaConfigoptionalIResolvable | CfnDataSource.LambdaConfigPropertylambda_configoptionaltyping.Union[IResolvable, LambdaConfigProperty]lambdaConfigoptionalIResolvableLambdaConfigoptionalIResolvableLambdaConfigoptionalinterface{}#
An ARN of a Lambda function in valid ARN format.

This can be the ARN of a Lambda function that exists in the current account or in another account.

metricsConfigoptionalstringmetrics_configoptionalstrmetricsConfigoptionalStringMetricsConfigoptionalstringMetricsConfigoptional*string#
Enables or disables enhanced data source metrics for specified data sources.
notes

Note that MetricsConfig won't be used unless the dataSourceLevelMetricsBehavior value is set to PER_DATA_SOURCE_METRICS . If the dataSourceLevelMetricsBehavior is set to FULL_REQUEST_DATA_SOURCE_METRICS instead, MetricsConfig will be ignored. However, you can still set its value.

MetricsConfig can be ENABLED or DISABLED .

namestringnamestrnameStringNamestringName*stringrequired#
Friendly name for you to identify your AppSync data source after creation.
openSearchServiceConfigoptionalIResolvable | CfnDataSource.OpenSearchServiceConfigPropertyopen_search_service_configoptionaltyping.Union[IResolvable, OpenSearchServiceConfigProperty]openSearchServiceConfigoptionalIResolvableOpenSearchServiceConfigoptionalIResolvableOpenSearchServiceConfigoptionalinterface{}#
AWS Region and Endpoints for an Amazon OpenSearch Service domain in your account.
relationalDatabaseConfigoptionalIResolvable | CfnDataSource.RelationalDatabaseConfigPropertyrelational_database_configoptionaltyping.Union[IResolvable, RelationalDatabaseConfigProperty]relationalDatabaseConfigoptionalIResolvableRelationalDatabaseConfigoptionalIResolvableRelationalDatabaseConfigoptionalinterface{}#
Relational Database configuration of the relational database data source.
serviceRoleArnoptionalstring | IRoleRefservice_role_arnoptionaltyping.Union[str, IRoleRef]serviceRoleArnoptionalStringServiceRoleArnoptionalstringServiceRoleArnoptionalinterface{}#
The AWS Identity and Access Management service role ARN for the data source.
notes

The system assumes this role when accessing the data source.

Required if Type is specified as AWS_LAMBDA , AMAZON_DYNAMODB , AMAZON_ELASTICSEARCH , AMAZON_EVENTBRIDGE , AMAZON_OPENSEARCH_SERVICE , RELATIONAL_DATABASE , or AMAZON_BEDROCK_RUNTIME .

typestringtypestrtypeStringTypestringType*stringrequired#
The type of the data source.
notes
  • AWS_LAMBDA : The data source is an AWS Lambda function.
  • AMAZON_DYNAMODB : The data source is an Amazon DynamoDB table.
  • AMAZON_ELASTICSEARCH : The data source is an Amazon OpenSearch Service domain.
  • AMAZON_EVENTBRIDGE : The data source is an Amazon EventBridge event bus.
  • AMAZON_OPENSEARCH_SERVICE : The data source is an Amazon OpenSearch Service domain.
  • AMAZON_BEDROCK_RUNTIME : The data source is the Amazon Bedrock runtime.
  • NONE : There is no data source. This type is used when you wish to invoke a GraphQL operation without connecting to a data source, such as performing data transformation with resolvers or triggering a subscription to be invoked from a mutation.
  • HTTP : The data source is an HTTP endpoint.
  • RELATIONAL_DATABASE : The data source is a relational database.