search method
Finds SageMaker resources that match a search query. Matching resources
are returned as a list of SearchRecord objects in the
response. You can sort the search results by any resource property in a
ascending or descending order.
You can query against the following value types: numeric, text, Boolean, and timestamp.
Parameter resource :
The name of the SageMaker resource to search for.
Parameter crossAccountFilterOption :
A cross account filter option. When the value is
"CrossAccount" the search results will only include resources
made discoverable to you from other accounts. When the value is
"SameAccount" or null the search results will
only include resources from your account. Default is null.
For more information on searching for resources made discoverable to your
account, see
Search discoverable resources in the SageMaker Developer Guide. The
maximum number of ResourceCatalogs viewable is 1000.
Parameter maxResults :
The maximum number of results to return.
Parameter nextToken :
If more than MaxResults resources match the specified
SearchExpression, the response includes a
NextToken. The NextToken can be passed to the
next SearchRequest to continue retrieving results.
Parameter searchExpression :
A Boolean conditional statement. Resources must satisfy this condition to
be included in search results. You must provide at least one
subexpression, filter, or nested filter. The maximum number of recursive
SubExpressions, NestedFilters, and
Filters that can be included in a
SearchExpression object is 50.
Parameter sortBy :
The name of the resource property used to sort the
SearchResults. The default is LastModifiedTime.
Parameter sortOrder :
How SearchResults are ordered. Valid values are
Ascending or Descending. The default is
Descending.
Parameter visibilityConditions :
Limits the results of your search request to the resources that you can
access.
Implementation
Future<SearchResponse> search({
required ResourceType resource,
CrossAccountFilterOption? crossAccountFilterOption,
int? maxResults,
String? nextToken,
SearchExpression? searchExpression,
String? sortBy,
SearchSortOrder? sortOrder,
List<VisibilityConditions>? visibilityConditions,
}) async {
_s.validateNumRange(
'maxResults',
maxResults,
1,
100,
);
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.1',
'X-Amz-Target': 'SageMaker.Search'
};
final jsonResponse = await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'Resource': resource.value,
if (crossAccountFilterOption != null)
'CrossAccountFilterOption': crossAccountFilterOption.value,
if (maxResults != null) 'MaxResults': maxResults,
if (nextToken != null) 'NextToken': nextToken,
if (searchExpression != null) 'SearchExpression': searchExpression,
if (sortBy != null) 'SortBy': sortBy,
if (sortOrder != null) 'SortOrder': sortOrder.value,
if (visibilityConditions != null)
'VisibilityConditions': visibilityConditions,
},
);
return SearchResponse.fromJson(jsonResponse.body);
}