searchTables method
- String? catalogId,
- List<
PropertyPredicate> ? filters, - int? maxResults,
- String? nextToken,
- String? searchText,
- List<
SortCriterion> ? sortCriteria,
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.
May throw InternalServiceException. May throw InvalidInputException. May throw OperationTimeoutException.
Parameter catalogId
:
A unique identifier, consisting of account_id
.
Parameter 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 the PropertyPredicate
struct is used only for time fields, and can be omitted for other field
types. Also, when comparing string values, such as when
Key=Name
, a fuzzy match algorithm is used. The
Key
field (for example, the value of the Name
field) is split on certain punctuation characters, for example, -, :, #,
etc. into tokens. Then each token is exact-match compared with the
Value
member of PropertyPredicate
. For example,
if Key=Name
and Value=link
, tables named
customer-link
and xx-link-yy
are returned, but
xxlinkyy
is not returned.
Parameter maxResults
:
The maximum number of tables to return in a single response.
Parameter nextToken
:
A continuation token, included if this is a continuation call.
Parameter resourceShareType
:
Allows you to specify that you want to search the tables shared with your
account. The allowable values are FOREIGN
or
ALL
.
-
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.
Parameter searchText
:
A string used for a text search.
Specifying a value in quotes filters based on an exact match to the value.
Parameter sortCriteria
:
A list of criteria for sorting the results by a field name, in an
ascending or descending order.
Implementation
Future<SearchTablesResponse> searchTables({
String? catalogId,
List<PropertyPredicate>? filters,
int? maxResults,
String? nextToken,
ResourceShareType? resourceShareType,
String? searchText,
List<SortCriterion>? sortCriteria,
}) async {
_s.validateStringLength(
'catalogId',
catalogId,
1,
255,
);
_s.validateNumRange(
'maxResults',
maxResults,
1,
1000,
);
_s.validateStringLength(
'searchText',
searchText,
0,
1024,
);
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.1',
'X-Amz-Target': 'AWSGlue.SearchTables'
};
final jsonResponse = await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
if (catalogId != null) 'CatalogId': catalogId,
if (filters != null) 'Filters': filters,
if (maxResults != null) 'MaxResults': maxResults,
if (nextToken != null) 'NextToken': nextToken,
if (resourceShareType != null)
'ResourceShareType': resourceShareType.toValue(),
if (searchText != null) 'SearchText': searchText,
if (sortCriteria != null) 'SortCriteria': sortCriteria,
},
);
return SearchTablesResponse.fromJson(jsonResponse.body);
}