View a markdown version of this page

AttachDataSource - Amazon OpenSearch Service

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, and DeleteApplication.

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), and FAILED (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: