UpdateDataSource
Updates a DataSource object.
Request Syntax
POST /v1/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.
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 metricsConfigwon't be used unless thedataSourceLevelMetricsBehaviorvalue is set toPER_DATA_SOURCE_METRICS. If thedataSourceLevelMetricsBehavioris set toFULL_REQUEST_DATA_SOURCE_METRICSinstead,metricsConfigwill be ignored. However, you can still set its value.metricsConfigcan beENABLEDorDISABLED.Type: String Valid Values: ENABLED | DISABLEDRequired: 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 | AMAZON_BEDROCK_RUNTIMERequired: 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 DataSourceobject.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. - detail
- 
                        Provides further details for the reason behind the bad request. For reason type CODE_ERROR, the detail will contain a list of code errors.
- reason
- 
                        Provides context for the cause of the bad request. The only supported value is CODE_ERROR.
 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: