AppSync / Client / update_data_source

update_data_source#

AppSync.Client.update_data_source(**kwargs)#

Updates a DataSource object.

See also: AWS API Documentation

Request Syntax

response = client.update_data_source(
    apiId='string',
    name='string',
    description='string',
    type='AWS_LAMBDA'|'AMAZON_DYNAMODB'|'AMAZON_ELASTICSEARCH'|'NONE'|'HTTP'|'RELATIONAL_DATABASE'|'AMAZON_OPENSEARCH_SERVICE'|'AMAZON_EVENTBRIDGE'|'AMAZON_BEDROCK_RUNTIME',
    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.

  • name (string) –

    [REQUIRED]

    The new name for the data source.

  • description (string) – The new description for the data source.

  • type (string) –

    [REQUIRED]

    The new data source type.

  • serviceRoleArn (string) – The new service role Amazon Resource Name (ARN) for the data source.

  • dynamodbConfig (dict) –

    The new Amazon DynamoDB configuration.

    • 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) –

    The new Lambda configuration.

    • lambdaFunctionArn (string) – [REQUIRED]

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

  • elasticsearchConfig (dict) –

    The new OpenSearch configuration.

    As of September 2021, Amazon Elasticsearch service is Amazon OpenSearch Service. This configuration is deprecated. Instead, use UpdateDataSourceRequest$openSearchServiceConfig to update an OpenSearch data source.

    • endpoint (string) – [REQUIRED]

      The endpoint.

    • awsRegion (string) – [REQUIRED]

      The Amazon Web Services Region.

  • openSearchServiceConfig (dict) –

    The new OpenSearch configuration.

    • endpoint (string) – [REQUIRED]

      The endpoint.

    • awsRegion (string) – [REQUIRED]

      The Amazon Web Services Region.

  • httpConfig (dict) –

    The new HTTP endpoint configuration.

    • 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) –

    The new relational database configuration.

    • 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) –

    The new 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'|'AMAZON_BEDROCK_RUNTIME',
        '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 updated 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