SearchTables
Searches a set of tables based on properties in the table metadata as well as on the parent database. You can search against text or filter conditions.
You can only get tables that you have access to based on the security policies defined in Lake Formation. You need at least a read-only access to the table for it to be returned. If you do not have access to all the columns in the table, these columns will not be searched against when returning the list of tables back to you. If you have access to the columns but not the data in the columns, those columns and the associated metadata for those columns will be included in the search.
Request Syntax
{
"CatalogId": "string
",
"Filters": [
{
"Comparator": "string
",
"Key": "string
",
"Value": "string
"
}
],
"IncludeStatusDetails": boolean
,
"MaxResults": number
,
"NextToken": "string
",
"ResourceShareType": "string
",
"SearchText": "string
",
"SortCriteria": [
{
"FieldName": "string
",
"Sort": "string
"
}
]
}
Request Parameters
For information about the parameters that are common to all actions, see Common Parameters.
The request accepts the following data in JSON format.
- CatalogId
-
A unique identifier, consisting of
account_id
.Type: String
Length Constraints: Minimum length of 1. Maximum length of 255.
Pattern:
[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\t]*
Required: No
- Filters
-
A list of key-value pairs, and a comparator used to filter the search results. Returns all entities matching the predicate.
The
Comparator
member of thePropertyPredicate
struct is used only for time fields, and can be omitted for other field types. Also, when comparing string values, such as whenKey=Name
, a fuzzy match algorithm is used. TheKey
field (for example, the value of theName
field) is split on certain punctuation characters, for example, -, :, #, etc. into tokens. Then each token is exact-match compared with theValue
member ofPropertyPredicate
. For example, ifKey=Name
andValue=link
, tables namedcustomer-link
andxx-link-yy
are returned, butxxlinkyy
is not returned.Type: Array of PropertyPredicate objects
Required: No
- IncludeStatusDetails
-
Specifies whether to include status details related to a request to create or update an AWS Glue Data Catalog view.
Type: Boolean
Required: No
- MaxResults
-
The maximum number of tables to return in a single response.
Type: Integer
Valid Range: Minimum value of 1. Maximum value of 1000.
Required: No
- NextToken
-
A continuation token, included if this is a continuation call.
Type: String
Required: No
-
Allows you to specify that you want to search the tables shared with your account. The allowable values are
FOREIGN
orALL
.-
If set to
FOREIGN
, will search the tables shared with your account. -
If set to
ALL
, will search the tables shared with your account, as well as the tables in yor local account.
Type: String
Valid Values:
FOREIGN | ALL | FEDERATED
Required: No
-
- SearchText
-
A string used for a text search.
Specifying a value in quotes filters based on an exact match to the value.
Type: String
Length Constraints: Maximum length of 1024.
Required: No
- SortCriteria
-
A list of criteria for sorting the results by a field name, in an ascending or descending order.
Type: Array of SortCriterion objects
Array Members: Minimum number of 0 items. Maximum number of 1 item.
Required: No
Response Syntax
{
"NextToken": "string",
"TableList": [
{
"CatalogId": "string",
"CreatedBy": "string",
"CreateTime": number,
"DatabaseName": "string",
"Description": "string",
"FederatedTable": {
"ConnectionName": "string",
"DatabaseIdentifier": "string",
"Identifier": "string"
},
"IsMultiDialectView": boolean,
"IsRegisteredWithLakeFormation": boolean,
"LastAccessTime": number,
"LastAnalyzedTime": number,
"Name": "string",
"Owner": "string",
"Parameters": {
"string" : "string"
},
"PartitionKeys": [
{
"Comment": "string",
"Name": "string",
"Parameters": {
"string" : "string"
},
"Type": "string"
}
],
"Retention": number,
"Status": {
"Action": "string",
"Details": {
"RequestedChange": "Table",
"ViewValidations": [
{
"Dialect": "string",
"DialectVersion": "string",
"Error": {
"ErrorCode": "string",
"ErrorMessage": "string"
},
"State": "string",
"UpdateTime": number,
"ViewValidationText": "string"
}
]
},
"Error": {
"ErrorCode": "string",
"ErrorMessage": "string"
},
"RequestedBy": "string",
"RequestTime": number,
"State": "string",
"UpdatedBy": "string",
"UpdateTime": number
},
"StorageDescriptor": {
"AdditionalLocations": [ "string" ],
"BucketColumns": [ "string" ],
"Columns": [
{
"Comment": "string",
"Name": "string",
"Parameters": {
"string" : "string"
},
"Type": "string"
}
],
"Compressed": boolean,
"InputFormat": "string",
"Location": "string",
"NumberOfBuckets": number,
"OutputFormat": "string",
"Parameters": {
"string" : "string"
},
"SchemaReference": {
"SchemaId": {
"RegistryName": "string",
"SchemaArn": "string",
"SchemaName": "string"
},
"SchemaVersionId": "string",
"SchemaVersionNumber": number
},
"SerdeInfo": {
"Name": "string",
"Parameters": {
"string" : "string"
},
"SerializationLibrary": "string"
},
"SkewedInfo": {
"SkewedColumnNames": [ "string" ],
"SkewedColumnValueLocationMaps": {
"string" : "string"
},
"SkewedColumnValues": [ "string" ]
},
"SortColumns": [
{
"Column": "string",
"SortOrder": number
}
],
"StoredAsSubDirectories": boolean
},
"TableType": "string",
"TargetTable": {
"CatalogId": "string",
"DatabaseName": "string",
"Name": "string",
"Region": "string"
},
"UpdateTime": number,
"VersionId": "string",
"ViewDefinition": {
"Definer": "string",
"IsProtected": boolean,
"Representations": [
{
"Dialect": "string",
"DialectVersion": "string",
"IsStale": boolean,
"ValidationConnection": "string",
"ViewExpandedText": "string",
"ViewOriginalText": "string"
}
],
"SubObjects": [ "string" ]
},
"ViewExpandedText": "string",
"ViewOriginalText": "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.
- InternalServiceException
-
An internal service error occurred.
HTTP Status Code: 500
- InvalidInputException
-
The input provided was not valid.
HTTP Status Code: 400
- OperationTimeoutException
-
The operation timed out.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: