Search - Amazon DataZone

Search

Searches for assets in Amazon DataZone.

Search in Amazon DataZone is a powerful capability that enables users to discover and explore data assets, glossary terms, and data products across their organization. It provides both basic and advanced search functionality, allowing users to find resources based on names, descriptions, metadata, and other attributes. Search can be scoped to specific types of resources (like assets, glossary terms, or data products) and can be filtered using various criteria such as creation date, owner, or status. The search functionality is essential for making the wealth of data resources in an organization discoverable and usable, helping users find the right data for their needs quickly and efficiently.

Many search commands in Amazon DataZone are paginated, including search and search-types. When the result set is large, Amazon DataZone returns a nextToken in the response. This token can be used to retrieve the next page of results.

Prerequisites:

  • The --domain-identifier must refer to an existing Amazon DataZone domain.

  • --search-scope must be one of: ASSET, GLOSSARY_TERM, DATA_PRODUCT, or GLOSSARY.

  • The user must have search permissions in the specified domain.

  • If using --filters, ensure that the JSON is well-formed and that each filter includes valid attribute and value keys.

  • For paginated results, be prepared to use --next-token to fetch additional pages.

Request Syntax

POST /v2/domains/domainIdentifier/search HTTP/1.1 Content-type: application/json { "additionalAttributes": [ "string" ], "filters": { ... }, "maxResults": number, "nextToken": "string", "owningProjectIdentifier": "string", "searchIn": [ { "attribute": "string" } ], "searchScope": "string", "searchText": "string", "sort": { "attribute": "string", "order": "string" } }

URI Request Parameters

The request uses the following URI parameters.

domainIdentifier

The identifier of the Amazon DataZone domain.

Pattern: dzd[-_][a-zA-Z0-9_-]{1,36}

Required: Yes

Request Body

The request accepts the following data in JSON format.

additionalAttributes

Specifies additional attributes for the Search action.

Type: Array of strings

Valid Values: FORMS | TIME_SERIES_DATA_POINT_FORMS | TEXT_MATCH_RATIONALE

Required: No

filters

Specifies the search filters.

Type: FilterClause object

Note: This object is a Union. Only one member of this object can be specified or returned.

Required: No

maxResults

The maximum number of results to return in a single call to Search. When the number of results to be listed is greater than the value of MaxResults, the response contains a NextToken value that you can use in a subsequent call to Search to list the next set of results.

Type: Integer

Valid Range: Minimum value of 1. Maximum value of 50.

Required: No

nextToken

When the number of results is greater than the default value for the MaxResults parameter, or if you explicitly specify a value for MaxResults that is less than the number of results, the response includes a pagination token named NextToken. You can specify this NextToken value in a subsequent call to Search to list the next set of results.

Type: String

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

Required: No

owningProjectIdentifier

The identifier of the owning project specified for the search.

Type: String

Pattern: [a-zA-Z0-9_-]{1,36}

Required: No

searchIn

The details of the search.

Type: Array of SearchInItem objects

Array Members: Minimum number of 1 item. Maximum number of 10 items.

Required: No

searchScope

The scope of the search.

Type: String

Valid Values: ASSET | GLOSSARY | GLOSSARY_TERM | DATA_PRODUCT

Required: Yes

searchText

Specifies the text for which to search.

Type: String

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

Required: No

sort

Specifies the way in which the search results are to be sorted.

Type: SearchSort object

Required: No

Response Syntax

HTTP/1.1 200 Content-type: application/json { "items": [ { ... } ], "nextToken": "string", "totalMatchCount": number }

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.

items

The results of the Search action.

Type: Array of SearchInventoryResultItem objects

nextToken

When the number of results is greater than the default value for the MaxResults parameter, or if you explicitly specify a value for MaxResults that is less than the number of results, the response includes a pagination token named NextToken. You can specify this NextToken value in a subsequent call to Search to list the next set of results.

Type: String

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

totalMatchCount

Total number of search results.

Type: Integer

Errors

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

AccessDeniedException

You do not have sufficient access to perform this action.

HTTP Status Code: 403

InternalServerException

The request has failed because of an unknown error, exception or failure.

HTTP Status Code: 500

ThrottlingException

The request was denied due to request throttling.

HTTP Status Code: 429

UnauthorizedException

You do not have permission to perform this action.

HTTP Status Code: 401

ValidationException

The input fails to satisfy the constraints specified by the AWS service.

HTTP Status Code: 400

Examples

Example

This example illustrates one usage of Search.

Sample Request

aws datazone search \ --domain-identifier "dzd_53ielnpxktdilj" \ --search-scope "GLOSSARY_TERM"

Sample Response

{ "items": [ { "glossaryTermItem": { "createdAt": 1752766662.222, "createdBy": "usr7nx82mkl", "domainId": "dzd_53ielnpxktdilj", "glossaryId": "gls8m3nqx2wkfp", "id": "trm9k4pq7xwnmh", "name": "CustomerLifetimeValue", "status": "ENABLED", "updatedAt": 1752766662.222, "updatedBy": "usr7nx82mkl" } }, { "glossaryTermItem": { "createdAt": 1752674736.91, "createdBy": "usr7nx82mkl", "domainId": "dzd_53ielnpxktdilj", "glossaryId": "gls8m3nqx2wkfp", "id": "trm8p2mq3xvn5", "name": "ChurnRisk", "status": "ENABLED", "updatedAt": 1752766697.481, "updatedBy": "usr7nx82mkl" } } ], "totalMatchCount": 2 }

Example

Failure case - missing parameter:

Sample Request

aws datazone search \ --search-scope "GLOSSARY_TERM"

Sample Response

aws: error: the following arguments are required: —domain-identifier

Example

Failure case - invalid input:

Sample Request

aws datazone search \ --domain-identifier "dzd_53ielnpxktdilj" \ --search-scope "INVALID_SCOPE"

Sample Response

An error occurred (ValidationException) when calling the Search operation: 1 validation error detected: Value at 'searchScope' failed to satisfy constraint: Member must satisfy enum value set: [GLOSSARY_TERM, ASSET, DATA_PRODUCT, GLOSSARY]

Example

Failure case - invalid JSON:

Sample Request

aws datazone search \ --domain-identifier "dzd_53ielnpxktdilj" \ --search-scope "GLOSSARY_TERM" \ --filters '[{attribute:"NAME",value:"Term"}]'

Sample Response

Error parsing parameter '--filters': Invalid JSON: [{attribute:"NAME",value:"Term"}]

See Also

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