CreateDataSource - AWS AppSync (original) (raw)
Creates a DataSource
object.
Request Syntax
POST /v1/apis/apiId/datasources 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",
"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"
}
URI Request Parameters
The request uses the following URI parameters.
The API ID for the GraphQL API for the DataSource
.
Required: Yes
Request Body
The request accepts the following data in JSON format.
A description of the DataSource
.
Type: String
Required: No
Amazon DynamoDB settings.
Type: DynamodbDataSourceConfig object
Required: No
Amazon OpenSearch Service settings.
As of September 2021, Amazon Elasticsearch service is Amazon OpenSearch Service. This configuration is deprecated. For new data sources, use CreateDataSource:openSearchServiceConfig to create an OpenSearch data source.
Type: ElasticsearchDataSourceConfig object
Required: No
Amazon EventBridge settings.
Type: EventBridgeDataSourceConfig object
Required: No
HTTP endpoint settings.
Type: HttpDataSourceConfig object
Required: No
AWS Lambda settings.
Type: LambdaDataSourceConfig object
Required: No
Enables or disables enhanced data source metrics for specified data sources. Note thatmetricsConfig
won't be used unless thedataSourceLevelMetricsBehavior
value is set toPER_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
A user-supplied name for the DataSource
.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 65536.
Pattern: [_A-Za-z][_0-9A-Za-z]*
Required: Yes
Amazon OpenSearch Service settings.
Type: OpenSearchServiceDataSourceConfig object
Required: No
Relational database settings.
Type: RelationalDatabaseDataSourceConfig object
Required: No
The AWS 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.
Type: String
Required: No
The type of the DataSource
.
Type: String
Valid Values: AWS_LAMBDA | AMAZON_DYNAMODB | AMAZON_ELASTICSEARCH | NONE | HTTP | RELATIONAL_DATABASE | AMAZON_OPENSEARCH_SERVICE | AMAZON_EVENTBRIDGE | AMAZON_BEDROCK_RUNTIME
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.
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: