AppSync / Client / create_data_source

create_data_source#

AppSync.Client.create_data_source(**kwargs)#

Creates a DataSource object.

See also: AWS API Documentation

Request Syntax

response = client.create_data_source(
    apiId='string',
    name='string',
    description='string',
    type='AWS_LAMBDA'|'AMAZON_DYNAMODB'|'AMAZON_ELASTICSEARCH'|'NONE'|'HTTP'|'RELATIONAL_DATABASE'|'AMAZON_OPENSEARCH_SERVICE'|'AMAZON_EVENTBRIDGE',
    serviceRoleArn='string',
    dynamodbConfig={
        'tableName': 'string',
        'awsRegion': 'string',
        'useCallerCredentials': True|False,
        'deltaSyncConfig': {
            'baseTableTTL': 123,
            'deltaSyncTableName': 'string',
            'deltaSyncTableTTL': 123
        },
        'versioned': True|False
    },
    lambdaConfig={
        'lambdaFunctionArn': 'string'
    },
    elasticsearchConfig={
        'endpoint': 'string',
        'awsRegion': 'string'
    },
    openSearchServiceConfig={
        'endpoint': 'string',
        'awsRegion': 'string'
    },
    httpConfig={
        'endpoint': 'string',
        'authorizationConfig': {
            'authorizationType': 'AWS_IAM',
            'awsIamConfig': {
                'signingRegion': 'string',
                'signingServiceName': 'string'
            }
        }
    },
    relationalDatabaseConfig={
        'relationalDatabaseSourceType': 'RDS_HTTP_ENDPOINT',
        'rdsHttpEndpointConfig': {
            'awsRegion': 'string',
            'dbClusterIdentifier': 'string',
            'databaseName': 'string',
            'schema': 'string',
            'awsSecretStoreArn': 'string'
        }
    },
    eventBridgeConfig={
        'eventBusArn': 'string'
    },
    metricsConfig='ENABLED'|'DISABLED'
)
Parameters:
  • apiId (string) –

    [REQUIRED]

    The API ID for the GraphQL API for the DataSource.

  • name (string) –

    [REQUIRED]

    A user-supplied name for the DataSource.

  • description (string) – A description of the DataSource.

  • type (string) –

    [REQUIRED]

    The type of the DataSource.

  • serviceRoleArn (string) – The Identity and Access Management (IAM) service role Amazon Resource Name (ARN) for the data source. The system assumes this role when accessing the data source.

  • dynamodbConfig (dict) –

    Amazon DynamoDB settings.

    • tableName (string) – [REQUIRED]

      The table name.

    • awsRegion (string) – [REQUIRED]

      The Amazon Web Services Region.

    • useCallerCredentials (boolean) –

      Set to TRUE to use Amazon Cognito credentials with this data source.

    • deltaSyncConfig (dict) –

      The DeltaSyncConfig for a versioned data source.

      • baseTableTTL (integer) –

        The number of minutes that an Item is stored in the data source.

      • deltaSyncTableName (string) –

        The Delta Sync table name.

      • deltaSyncTableTTL (integer) –

        The number of minutes that a Delta Sync log entry is stored in the Delta Sync table.

    • versioned (boolean) –

      Set to TRUE to use Conflict Detection and Resolution with this data source.

  • lambdaConfig (dict) –

    Lambda settings.

    • lambdaFunctionArn (string) – [REQUIRED]

      The Amazon Resource Name (ARN) for the Lambda function.

  • elasticsearchConfig (dict) –

    Amazon OpenSearch Service settings.

    As of September 2021, Amazon Elasticsearch service is Amazon OpenSearch Service. This configuration is deprecated. For new data sources, use CreateDataSourceRequest$openSearchServiceConfig to create an OpenSearch data source.

    • endpoint (string) – [REQUIRED]

      The endpoint.

    • awsRegion (string) – [REQUIRED]

      The Amazon Web Services Region.

  • openSearchServiceConfig (dict) –

    Amazon OpenSearch Service settings.

    • endpoint (string) – [REQUIRED]

      The endpoint.

    • awsRegion (string) – [REQUIRED]

      The Amazon Web Services Region.

  • httpConfig (dict) –

    HTTP endpoint settings.

    • endpoint (string) –

      The HTTP URL endpoint. You can specify either the domain name or IP, and port combination, and the URL scheme must be HTTP or HTTPS. If you don’t specify the port, AppSync uses the default port 80 for the HTTP endpoint and port 443 for HTTPS endpoints.

    • authorizationConfig (dict) –

      The authorization configuration in case the HTTP endpoint requires authorization.

      • authorizationType (string) – [REQUIRED]

        The authorization type that the HTTP endpoint requires.

        • AWS_IAM: The authorization type is Signature Version 4 (SigV4).

      • awsIamConfig (dict) –

        The Identity and Access Management (IAM) settings.

        • signingRegion (string) –

          The signing Amazon Web Services Region for IAM authorization.

        • signingServiceName (string) –

          The signing service name for IAM authorization.

  • relationalDatabaseConfig (dict) –

    Relational database settings.

    • relationalDatabaseSourceType (string) –

      Source type for the relational database.

      • RDS_HTTP_ENDPOINT: The relational database source type is an Amazon Relational Database Service (Amazon RDS) HTTP endpoint.

    • rdsHttpEndpointConfig (dict) –

      Amazon RDS HTTP endpoint settings.

      • awsRegion (string) –

        Amazon Web Services Region for Amazon RDS HTTP endpoint.

      • dbClusterIdentifier (string) –

        Amazon RDS cluster Amazon Resource Name (ARN).

      • databaseName (string) –

        Logical database name.

      • schema (string) –

        Logical schema name.

      • awsSecretStoreArn (string) –

        Amazon Web Services secret store Amazon Resource Name (ARN) for database credentials.

  • eventBridgeConfig (dict) –

    Amazon EventBridge settings.

  • metricsConfig (string) –

    Enables or disables enhanced data source metrics for specified data sources. 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.

Return type:

dict

Returns:

Response Syntax

{
    'dataSource': {
        'dataSourceArn': 'string',
        'name': 'string',
        'description': 'string',
        'type': 'AWS_LAMBDA'|'AMAZON_DYNAMODB'|'AMAZON_ELASTICSEARCH'|'NONE'|'HTTP'|'RELATIONAL_DATABASE'|'AMAZON_OPENSEARCH_SERVICE'|'AMAZON_EVENTBRIDGE',
        'serviceRoleArn': 'string',
        'dynamodbConfig': {
            'tableName': 'string',
            'awsRegion': 'string',
            'useCallerCredentials': True|False,
            'deltaSyncConfig': {
                'baseTableTTL': 123,
                'deltaSyncTableName': 'string',
                'deltaSyncTableTTL': 123
            },
            'versioned': True|False
        },
        'lambdaConfig': {
            'lambdaFunctionArn': 'string'
        },
        'elasticsearchConfig': {
            'endpoint': 'string',
            'awsRegion': 'string'
        },
        'openSearchServiceConfig': {
            'endpoint': 'string',
            'awsRegion': 'string'
        },
        'httpConfig': {
            'endpoint': 'string',
            'authorizationConfig': {
                'authorizationType': 'AWS_IAM',
                'awsIamConfig': {
                    'signingRegion': 'string',
                    'signingServiceName': 'string'
                }
            }
        },
        'relationalDatabaseConfig': {
            'relationalDatabaseSourceType': 'RDS_HTTP_ENDPOINT',
            'rdsHttpEndpointConfig': {
                'awsRegion': 'string',
                'dbClusterIdentifier': 'string',
                'databaseName': 'string',
                'schema': 'string',
                'awsSecretStoreArn': 'string'
            }
        },
        'eventBridgeConfig': {
            'eventBusArn': 'string'
        },
        'metricsConfig': 'ENABLED'|'DISABLED'
    }
}

Response Structure

  • (dict) –

    • dataSource (dict) –

      The DataSource object.

      • dataSourceArn (string) –

        The data source Amazon Resource Name (ARN).

      • name (string) –

        The name of the data source.

      • description (string) –

        The description of the data source.

      • type (string) –

        The type of the data source.

        • AWS_LAMBDA: The data source is an Lambda function.

        • AMAZON_DYNAMODB: The data source is an Amazon DynamoDB table.

        • AMAZON_ELASTICSEARCH: The data source is an Amazon OpenSearch Service domain.

        • AMAZON_OPENSEARCH_SERVICE: The data source is an Amazon OpenSearch Service domain.

        • AMAZON_EVENTBRIDGE: The data source is an Amazon EventBridge configuration.

        • NONE: There is no data source. Use this type when you want to invoke a GraphQL operation without connecting to a data source, such as when you’re performing data transformation with resolvers or invoking a subscription from a mutation.

        • HTTP: The data source is an HTTP endpoint.

        • RELATIONAL_DATABASE: The data source is a relational database.

      • serviceRoleArn (string) –

        The Identity and Access Management (IAM) service role Amazon Resource Name (ARN) for the data source. The system assumes this role when accessing the data source.

      • dynamodbConfig (dict) –

        DynamoDB settings.

        • tableName (string) –

          The table name.

        • awsRegion (string) –

          The Amazon Web Services Region.

        • useCallerCredentials (boolean) –

          Set to TRUE to use Amazon Cognito credentials with this data source.

        • deltaSyncConfig (dict) –

          The DeltaSyncConfig for a versioned data source.

          • baseTableTTL (integer) –

            The number of minutes that an Item is stored in the data source.

          • deltaSyncTableName (string) –

            The Delta Sync table name.

          • deltaSyncTableTTL (integer) –

            The number of minutes that a Delta Sync log entry is stored in the Delta Sync table.

        • versioned (boolean) –

          Set to TRUE to use Conflict Detection and Resolution with this data source.

      • lambdaConfig (dict) –

        Lambda settings.

        • lambdaFunctionArn (string) –

          The Amazon Resource Name (ARN) for the Lambda function.

      • elasticsearchConfig (dict) –

        Amazon OpenSearch Service settings.

        • endpoint (string) –

          The endpoint.

        • awsRegion (string) –

          The Amazon Web Services Region.

      • openSearchServiceConfig (dict) –

        Amazon OpenSearch Service settings.

        • endpoint (string) –

          The endpoint.

        • awsRegion (string) –

          The Amazon Web Services Region.

      • httpConfig (dict) –

        HTTP endpoint settings.

        • endpoint (string) –

          The HTTP URL endpoint. You can specify either the domain name or IP, and port combination, and the URL scheme must be HTTP or HTTPS. If you don’t specify the port, AppSync uses the default port 80 for the HTTP endpoint and port 443 for HTTPS endpoints.

        • authorizationConfig (dict) –

          The authorization configuration in case the HTTP endpoint requires authorization.

          • authorizationType (string) –

            The authorization type that the HTTP endpoint requires.

            • AWS_IAM: The authorization type is Signature Version 4 (SigV4).

          • awsIamConfig (dict) –

            The Identity and Access Management (IAM) settings.

            • signingRegion (string) –

              The signing Amazon Web Services Region for IAM authorization.

            • signingServiceName (string) –

              The signing service name for IAM authorization.

      • relationalDatabaseConfig (dict) –

        Relational database settings.

        • relationalDatabaseSourceType (string) –

          Source type for the relational database.

          • RDS_HTTP_ENDPOINT: The relational database source type is an Amazon Relational Database Service (Amazon RDS) HTTP endpoint.

        • rdsHttpEndpointConfig (dict) –

          Amazon RDS HTTP endpoint settings.

          • awsRegion (string) –

            Amazon Web Services Region for Amazon RDS HTTP endpoint.

          • dbClusterIdentifier (string) –

            Amazon RDS cluster Amazon Resource Name (ARN).

          • databaseName (string) –

            Logical database name.

          • schema (string) –

            Logical schema name.

          • awsSecretStoreArn (string) –

            Amazon Web Services secret store Amazon Resource Name (ARN) for database credentials.

      • eventBridgeConfig (dict) –

        Amazon EventBridge settings.

      • metricsConfig (string) –

        Enables or disables enhanced data source metrics for specified data sources. 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.

Exceptions

  • AppSync.Client.exceptions.BadRequestException

  • AppSync.Client.exceptions.ConcurrentModificationException

  • AppSync.Client.exceptions.NotFoundException

  • AppSync.Client.exceptions.UnauthorizedException

  • AppSync.Client.exceptions.InternalFailureException