AttachDataSource
Attaches a data source to an OpenSearch application. The data source can be an Amazon OpenSearch Service domain or an Amazon OpenSearch Serverless collection. If both the application and data source are in the ACTIVE state, the attachment completes immediately and returns a status of ATTACHED. If either resource is not yet active, the operation stores the request and returns a status of PENDING. A background process then completes the attachment when both resources become active. Pending attachments that are not completed within 24 hours are marked as FAILED. This operation is idempotent. If a data source is already attached or pending for the same application, the existing attachment is returned.
Request Syntax
POST /2021-01-01/opensearch/application/id/attachDataSource HTTP/1.1
Content-type: application/json
{
"clientToken": "string",
"dataSourceArn": "string",
"workspaceConfiguration": {
"name": "string",
"workspaceType": "string"
},
"workspaceId": "string"
}
URI Request Parameters
The request uses the following URI parameters.
- id
-
The unique identifier or name of the OpenSearch application to attach the data source to. This is the same identifier used with
UpdateApplication,GetApplication, andDeleteApplication.Pattern:
[a-z0-9]{3,30}Required: Yes
Request Body
The request accepts the following data in JSON format.
- clientToken
-
A unique, case-sensitive identifier to ensure idempotency of the request. If you retry a request with the same client token and the same parameters, the retry succeeds without performing any further actions.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 64.
Required: No
- dataSourceArn
-
The Amazon Resource Name (ARN) of the domain. See Identifiers for IAM Entities in Using AWS Identity and Access Management for more information.
Type: String
Length Constraints: Minimum length of 20. Maximum length of 2048.
Pattern:
.*Required: Yes
- workspaceConfiguration
-
Configuration for creating a new workspace during the attachment. If specified, a workspace is created and linked to the data source after the attachment completes. Mutually exclusive with
workspaceId.Type: WorkspaceConfigurationInput object
Required: No
- workspaceId
-
The identifier of an existing workspace to update with the new data source. Mutually exclusive with
workspaceConfiguration.Type: String
Required: No
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"arn": "string",
"attachmentId": "string",
"dataSourceArn": "string",
"id": "string",
"status": "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.
- arn
-
The Amazon Resource Name (ARN) of the domain. See Identifiers for IAM Entities in Using AWS Identity and Access Management for more information.
Type: String
Length Constraints: Minimum length of 20. Maximum length of 2048.
Pattern:
.* - attachmentId
-
The unique identifier assigned to the data source attachment.
Type: String
- dataSourceArn
-
The Amazon Resource Name (ARN) of the domain. See Identifiers for IAM Entities in Using AWS Identity and Access Management for more information.
Type: String
Length Constraints: Minimum length of 20. Maximum length of 2048.
Pattern:
.* - id
-
The unique identifier of the OpenSearch application.
Type: String
Pattern:
[a-z0-9]{3,30} - status
-
The status of the data source attachment. Valid values are
PENDING(waiting for resources to become active),ATTACHED(successfully attached), andFAILED(attachment timed out or encountered a non-retryable error).Type: String
Valid Values:
PENDING | ATTACHED | FAILED
Errors
For information about the errors that are common to all actions, see Common Error Types.
- AccessDeniedException
-
An error occurred because you don't have permissions to access the resource.
HTTP Status Code: 403
- ConflictException
-
An error occurred because the client attempts to remove a resource that is currently in use.
HTTP Status Code: 409
- DisabledOperationException
-
An error occured because the client wanted to access an unsupported operation.
HTTP Status Code: 409
- InternalException
-
Request processing failed because of an unknown error, exception, or internal failure.
HTTP Status Code: 500
- ResourceNotFoundException
-
An exception for accessing or deleting a resource that doesn't exist.
HTTP Status Code: 409
- ValidationException
-
An exception for accessing or deleting a resource that doesn't exist.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: