UpdateDataSource - AWS AppSync

UpdateDataSource

Updates a DataSource object.

Request Syntax

POST /apis/apiId/datasources/name HTTP/1.1 Content-type: application/json { "description": "string", "dynamodbConfig": { "awsRegion": "string", "deltaSyncConfig": { "baseTableTTL": number, "deltaSyncTableName": "string", "deltaSyncTableTTL": number }, "tableName": "string", "useCallerCredentials": boolean, "versioned": boolean }, "elasticsearchConfig": { "awsRegion": "string", "endpoint": "string" }, "eventBridgeConfig": { "eventBusArn": "string" }, "httpConfig": { "authorizationConfig": { "authorizationType": "string", "awsIamConfig": { "signingRegion": "string", "signingServiceName": "string" } }, "endpoint": "string" }, "lambdaConfig": { "lambdaFunctionArn": "string" }, "metricsConfig": "string", "openSearchServiceConfig": { "awsRegion": "string", "endpoint": "string" }, "relationalDatabaseConfig": { "rdsHttpEndpointConfig": { "awsRegion": "string", "awsSecretStoreArn": "string", "databaseName": "string", "dbClusterIdentifier": "string", "schema": "string" }, "relationalDatabaseSourceType": "string" }, "serviceRoleArn": "string", "type": "string" }

URI Request Parameters

The request uses the following URI parameters.

apiId

The API ID.

Required: Yes

name

The new name for the data source.

Length Constraints: Minimum length of 1. Maximum length of 65536.

Pattern: [_A-Za-z][_0-9A-Za-z]*

Required: Yes

Request Body

The request accepts the following data in JSON format.

description

The new description for the data source.

Type: String

Required: No

dynamodbConfig

The new Amazon DynamoDB configuration.

Type: DynamodbDataSourceConfig object

Required: No

elasticsearchConfig

The new OpenSearch configuration.

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

Type: ElasticsearchDataSourceConfig object

Required: No

eventBridgeConfig

The new Amazon EventBridge settings.

Type: EventBridgeDataSourceConfig object

Required: No

httpConfig

The new HTTP endpoint configuration.

Type: HttpDataSourceConfig object

Required: No

lambdaConfig

The new AWS Lambda configuration.

Type: LambdaDataSourceConfig object

Required: No

metricsConfig

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.

Type: String

Valid Values: ENABLED | DISABLED

Required: No

openSearchServiceConfig

The new OpenSearch configuration.

Type: OpenSearchServiceDataSourceConfig object

Required: No

relationalDatabaseConfig

The new relational database configuration.

Type: RelationalDatabaseDataSourceConfig object

Required: No

serviceRoleArn

The new service role Amazon Resource Name (ARN) for the data source.

Type: String

Required: No

type

The new data source type.

Type: String

Valid Values: AWS_LAMBDA | AMAZON_DYNAMODB | AMAZON_ELASTICSEARCH | NONE | HTTP | RELATIONAL_DATABASE | AMAZON_OPENSEARCH_SERVICE | AMAZON_EVENTBRIDGE

Required: Yes

Response Syntax

HTTP/1.1 200 Content-type: application/json { "dataSource": { "dataSourceArn": "string", "description": "string", "dynamodbConfig": { "awsRegion": "string", "deltaSyncConfig": { "baseTableTTL": number, "deltaSyncTableName": "string", "deltaSyncTableTTL": number }, "tableName": "string", "useCallerCredentials": boolean, "versioned": boolean }, "elasticsearchConfig": { "awsRegion": "string", "endpoint": "string" }, "eventBridgeConfig": { "eventBusArn": "string" }, "httpConfig": { "authorizationConfig": { "authorizationType": "string", "awsIamConfig": { "signingRegion": "string", "signingServiceName": "string" } }, "endpoint": "string" }, "lambdaConfig": { "lambdaFunctionArn": "string" }, "metricsConfig": "string", "name": "string", "openSearchServiceConfig": { "awsRegion": "string", "endpoint": "string" }, "relationalDatabaseConfig": { "rdsHttpEndpointConfig": { "awsRegion": "string", "awsSecretStoreArn": "string", "databaseName": "string", "dbClusterIdentifier": "string", "schema": "string" }, "relationalDatabaseSourceType": "string" }, "serviceRoleArn": "string", "type": "string" } }

Response Elements

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

dataSource

The updated DataSource object.

Type: DataSource object

Errors

For information about the errors that are common to all actions, see Common Errors.

BadRequestException

The request is not well formed. For example, a value is invalid or a required field is missing. Check the field values, and then try again.

HTTP Status Code: 400

ConcurrentModificationException

Another modification is in progress at this time and it must complete before you can make your change.

HTTP Status Code: 409

InternalFailureException

An internal AWS AppSync error occurred. Try your request again.

HTTP Status Code: 500

NotFoundException

The resource specified in the request was not found. Check the resource, and then try again.

HTTP Status Code: 404

UnauthorizedException

You aren't authorized to perform this operation.

HTTP Status Code: 401

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: