2026/11/12 - Amazon SageMaker Service - 3 updated api methods
Changes Adds CreatedBy and LastModifiedBy to the DescribeHub and DescribeHubContent responses and to HubContent records returned by the Search API, identifying the IAM identity or SageMaker Studio user profile that created or last modified a hub or hub content.
{'CreatedBy': {'DomainId': 'string',
'IamIdentity': {'Arn': 'string',
'PrincipalId': 'string',
'SourceIdentity': 'string'},
'UserProfileArn': 'string',
'UserProfileName': 'string'},
'LastModifiedBy': {'DomainId': 'string',
'IamIdentity': {'Arn': 'string',
'PrincipalId': 'string',
'SourceIdentity': 'string'},
'UserProfileArn': 'string',
'UserProfileName': 'string'}}
Describes a hub.
See also: AWS API Documentation
Request Syntax
client.describe_hub(
HubName='string'
)
string
[REQUIRED]
The name of the hub to describe.
dict
Response Syntax
{
'HubName': 'string',
'HubArn': 'string',
'HubDisplayName': 'string',
'HubDescription': 'string',
'HubSearchKeywords': [
'string',
],
'S3StorageConfig': {
'S3OutputPath': 'string'
},
'HubStatus': 'InService'|'Creating'|'Updating'|'Deleting'|'CreateFailed'|'UpdateFailed'|'DeleteFailed',
'FailureReason': 'string',
'CreationTime': datetime(2015, 1, 1),
'LastModifiedTime': datetime(2015, 1, 1),
'CreatedBy': {
'UserProfileArn': 'string',
'UserProfileName': 'string',
'DomainId': 'string',
'IamIdentity': {
'Arn': 'string',
'PrincipalId': 'string',
'SourceIdentity': 'string'
}
},
'LastModifiedBy': {
'UserProfileArn': 'string',
'UserProfileName': 'string',
'DomainId': 'string',
'IamIdentity': {
'Arn': 'string',
'PrincipalId': 'string',
'SourceIdentity': 'string'
}
}
}
Response Structure
(dict) --
HubName (string) --
The name of the hub.
HubArn (string) --
The Amazon Resource Name (ARN) of the hub.
HubDisplayName (string) --
The display name of the hub.
HubDescription (string) --
A description of the hub.
HubSearchKeywords (list) --
The searchable keywords for the hub.
(string) --
S3StorageConfig (dict) --
The Amazon S3 storage configuration for the hub.
S3OutputPath (string) --
The Amazon S3 bucket prefix for hosting hub content.
HubStatus (string) --
The status of the hub.
FailureReason (string) --
The failure reason if importing hub content failed.
CreationTime (datetime) --
The date and time that the hub was created.
LastModifiedTime (datetime) --
The date and time that the hub was last modified.
CreatedBy (dict) --
Information about the user who created the hub.
UserProfileArn (string) --
The Amazon Resource Name (ARN) of the user's profile.
UserProfileName (string) --
The name of the user's profile.
DomainId (string) --
The domain associated with the user.
IamIdentity (dict) --
The IAM Identity details associated with the user. These details are associated with model package groups, model packages, project entities, hubs, and hub content only.
Arn (string) --
The Amazon Resource Name (ARN) of the IAM identity.
PrincipalId (string) --
The ID of the principal that assumes the IAM identity.
SourceIdentity (string) --
The person or application which assumes the IAM identity.
LastModifiedBy (dict) --
Information about the user who last modified the hub.
UserProfileArn (string) --
The Amazon Resource Name (ARN) of the user's profile.
UserProfileName (string) --
The name of the user's profile.
DomainId (string) --
The domain associated with the user.
IamIdentity (dict) --
The IAM Identity details associated with the user. These details are associated with model package groups, model packages, project entities, hubs, and hub content only.
Arn (string) --
The Amazon Resource Name (ARN) of the IAM identity.
PrincipalId (string) --
The ID of the principal that assumes the IAM identity.
SourceIdentity (string) --
The person or application which assumes the IAM identity.
{'CreatedBy': {'DomainId': 'string',
'IamIdentity': {'Arn': 'string',
'PrincipalId': 'string',
'SourceIdentity': 'string'},
'UserProfileArn': 'string',
'UserProfileName': 'string'},
'LastModifiedBy': {'DomainId': 'string',
'IamIdentity': {'Arn': 'string',
'PrincipalId': 'string',
'SourceIdentity': 'string'},
'UserProfileArn': 'string',
'UserProfileName': 'string'}}
Describe the content of a hub.
See also: AWS API Documentation
Request Syntax
client.describe_hub_content(
HubName='string',
HubContentType='Model'|'Notebook'|'ModelReference'|'DataSet'|'JsonDoc',
HubContentName='string',
HubContentVersion='string'
)
string
[REQUIRED]
The name of the hub that contains the content to describe.
string
[REQUIRED]
The type of content in the hub.
string
[REQUIRED]
The name of the content to describe.
string
The version of the content to describe.
dict
Response Syntax
{
'HubContentName': 'string',
'HubContentArn': 'string',
'HubContentVersion': 'string',
'HubContentType': 'Model'|'Notebook'|'ModelReference'|'DataSet'|'JsonDoc',
'DocumentSchemaVersion': 'string',
'HubName': 'string',
'HubArn': 'string',
'HubContentDisplayName': 'string',
'HubContentDescription': 'string',
'HubContentMarkdown': 'string',
'HubContentDocument': 'string',
'SageMakerPublicHubContentArn': 'string',
'ReferenceMinVersion': 'string',
'SupportStatus': 'Supported'|'Deprecated'|'Restricted',
'HubContentSearchKeywords': [
'string',
],
'HubContentDependencies': [
{
'DependencyOriginPath': 'string',
'DependencyCopyPath': 'string'
},
],
'HubContentStatus': 'Available'|'Importing'|'Deleting'|'ImportFailed'|'DeleteFailed'|'PendingImport'|'PendingDelete',
'FailureReason': 'string',
'CreationTime': datetime(2015, 1, 1),
'LastModifiedTime': datetime(2015, 1, 1),
'CreatedBy': {
'UserProfileArn': 'string',
'UserProfileName': 'string',
'DomainId': 'string',
'IamIdentity': {
'Arn': 'string',
'PrincipalId': 'string',
'SourceIdentity': 'string'
}
},
'LastModifiedBy': {
'UserProfileArn': 'string',
'UserProfileName': 'string',
'DomainId': 'string',
'IamIdentity': {
'Arn': 'string',
'PrincipalId': 'string',
'SourceIdentity': 'string'
}
}
}
Response Structure
(dict) --
HubContentName (string) --
The name of the hub content.
HubContentArn (string) --
The Amazon Resource Name (ARN) of the hub content.
HubContentVersion (string) --
The version of the hub content.
HubContentType (string) --
The type of hub content.
DocumentSchemaVersion (string) --
The document schema version for the hub content.
HubName (string) --
The name of the hub that contains the content.
HubArn (string) --
The Amazon Resource Name (ARN) of the hub that contains the content.
HubContentDisplayName (string) --
The display name of the hub content.
HubContentDescription (string) --
A description of the hub content.
HubContentMarkdown (string) --
A string that provides a description of the hub content. This string can include links, tables, and standard markdown formating.
HubContentDocument (string) --
The hub content document that describes information about the hub content such as type, associated containers, scripts, and more.
SageMakerPublicHubContentArn (string) --
The ARN of the public hub content.
ReferenceMinVersion (string) --
The minimum version of the hub content.
SupportStatus (string) --
The support status of the hub content.
HubContentSearchKeywords (list) --
The searchable keywords for the hub content.
(string) --
HubContentDependencies (list) --
The location of any dependencies that the hub content has, such as scripts, model artifacts, datasets, or notebooks.
(dict) --
Any dependencies related to hub content, such as scripts, model artifacts, datasets, or notebooks.
DependencyOriginPath (string) --
The hub content dependency origin path.
DependencyCopyPath (string) --
The hub content dependency copy path.
HubContentStatus (string) --
The status of the hub content.
FailureReason (string) --
The failure reason if importing hub content failed.
CreationTime (datetime) --
The date and time that hub content was created.
LastModifiedTime (datetime) --
The last modified time of the hub content.
CreatedBy (dict) --
Information about the user who created the hub content.
UserProfileArn (string) --
The Amazon Resource Name (ARN) of the user's profile.
UserProfileName (string) --
The name of the user's profile.
DomainId (string) --
The domain associated with the user.
IamIdentity (dict) --
The IAM Identity details associated with the user. These details are associated with model package groups, model packages, project entities, hubs, and hub content only.
Arn (string) --
The Amazon Resource Name (ARN) of the IAM identity.
PrincipalId (string) --
The ID of the principal that assumes the IAM identity.
SourceIdentity (string) --
The person or application which assumes the IAM identity.
LastModifiedBy (dict) --
Information about the user who last modified the hub content.
UserProfileArn (string) --
The Amazon Resource Name (ARN) of the user's profile.
UserProfileName (string) --
The name of the user's profile.
DomainId (string) --
The domain associated with the user.
IamIdentity (dict) --
The IAM Identity details associated with the user. These details are associated with model package groups, model packages, project entities, hubs, and hub content only.
Arn (string) --
The Amazon Resource Name (ARN) of the IAM identity.
PrincipalId (string) --
The ID of the principal that assumes the IAM identity.
SourceIdentity (string) --
The person or application which assumes the IAM identity.
{'Results': {'HubContent': {'CreatedBy': {'DomainId': 'string',
'IamIdentity': {'Arn': 'string',
'PrincipalId': 'string',
'SourceIdentity': 'string'},
'UserProfileArn': 'string',
'UserProfileName': 'string'},
'LastModifiedBy': {'DomainId': 'string',
'IamIdentity': {'Arn': 'string',
'PrincipalId': 'string',
'SourceIdentity': 'string'},
'UserProfileArn': 'string',
'UserProfileName': 'string'}}}}
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.
See also: AWS API Documentation
Request Syntax
client.search(
Resource='TrainingJob'|'Experiment'|'ExperimentTrial'|'ExperimentTrialComponent'|'Endpoint'|'Model'|'ModelPackage'|'ModelPackageGroup'|'Pipeline'|'PipelineExecution'|'FeatureGroup'|'FeatureMetadata'|'Image'|'ImageVersion'|'Project'|'HyperParameterTuningJob'|'ModelCard'|'PipelineVersion'|'Job'|'HubContent',
SearchExpression={
'Filters': [
{
'Name': 'string',
'Operator': 'Equals'|'NotEquals'|'GreaterThan'|'GreaterThanOrEqualTo'|'LessThan'|'LessThanOrEqualTo'|'Contains'|'Exists'|'NotExists'|'In',
'Value': 'string'
},
],
'NestedFilters': [
{
'NestedPropertyName': 'string',
'Filters': [
{
'Name': 'string',
'Operator': 'Equals'|'NotEquals'|'GreaterThan'|'GreaterThanOrEqualTo'|'LessThan'|'LessThanOrEqualTo'|'Contains'|'Exists'|'NotExists'|'In',
'Value': 'string'
},
]
},
],
'SubExpressions': [
{'... recursive ...'},
],
'Operator': 'And'|'Or'
},
SortBy='string',
SortOrder='Ascending'|'Descending',
NextToken='string',
MaxResults=123,
CrossAccountFilterOption='SameAccount'|'CrossAccount',
VisibilityConditions=[
{
'Key': 'string',
'Value': 'string'
},
]
)
string
[REQUIRED]
The name of the SageMaker resource to search for.
dict
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.
Filters (list) --
A list of filter objects.
(dict) --
A conditional statement for a search expression that includes a resource property, a Boolean operator, and a value. Resources that match the statement are returned in the results from the Search API.
If you specify a Value, but not an Operator, SageMaker uses the equals operator.
In search, there are several property types:
Metrics
To define a metric filter, enter a value using the form "Metrics.<name>", where <name> is a metric name. For example, the following filter searches for training jobs with an "accuracy" metric greater than "0.9":
{
"Name": "Metrics.accuracy",
"Operator": "GreaterThan",
"Value": "0.9"
}
HyperParameters
To define a hyperparameter filter, enter a value with the form "HyperParameters.<name>". Decimal hyperparameter values are treated as a decimal in a comparison if the specified Value is also a decimal value. If the specified Value is an integer, the decimal hyperparameter values are treated as integers. For example, the following filter is satisfied by training jobs with a "learning_rate" hyperparameter that is less than "0.5":
{
"Name": "HyperParameters.learning_rate",
"Operator": "LessThan",
"Value": "0.5"
}
Tags
To define a tag filter, enter a value with the form Tags.<key>.
Name (string) -- [REQUIRED]
A resource property name. For example, TrainingJobName. For valid property names, see SearchRecord. You must specify a valid property for the resource.
Operator (string) --
A Boolean binary operator that is used to evaluate the filter. The operator field contains one of the following values:
Equals
The value of Name equals Value.
NotEquals
The value of Name doesn't equal Value.
Exists
The Name property exists.
NotExists
The Name property does not exist.
GreaterThan
The value of Name is greater than Value. Not supported for text properties.
GreaterThanOrEqualTo
The value of Name is greater than or equal to Value. Not supported for text properties.
LessThan
The value of Name is less than Value. Not supported for text properties.
LessThanOrEqualTo
The value of Name is less than or equal to Value. Not supported for text properties.
In
The value of Name is one of the comma delimited strings in Value. Only supported for text properties.
Contains
The value of Name contains the string Value. Only supported for text properties.
A SearchExpression can include the Contains operator multiple times when the value of Name is one of the following:
Experiment.DisplayName
Experiment.ExperimentName
Experiment.Tags
Trial.DisplayName
Trial.TrialName
Trial.Tags
TrialComponent.DisplayName
TrialComponent.TrialComponentName
TrialComponent.Tags
TrialComponent.InputArtifacts
TrialComponent.OutputArtifacts
A SearchExpression can include only one Contains operator for all other values of Name. In these cases, if you include multiple Contains operators in the SearchExpression, the result is the following error message: " 'CONTAINS' operator usage limit of 1 exceeded."
Value (string) --
A value used with Name and Operator to determine which resources satisfy the filter's condition. For numerical properties, Value must be an integer or floating-point decimal. For timestamp properties, Value must be an ISO 8601 date-time string of the following format: YYYY-mm-dd'T'HH:MM:SS.
NestedFilters (list) --
A list of nested filter objects.
(dict) --
A list of nested Filter objects. A resource must satisfy the conditions of all filters to be included in the results returned from the Search API.
For example, to filter on a training job's InputDataConfig property with a specific channel name and S3Uri prefix, define the following filters:
'{Name:"InputDataConfig.ChannelName", "Operator":"Equals", "Value":"train"}',
'{Name:"InputDataConfig.DataSource.S3DataSource.S3Uri", "Operator":"Contains", "Value":"mybucket/catdata"}'
NestedPropertyName (string) -- [REQUIRED]
The name of the property to use in the nested filters. The value must match a listed property name, such as InputDataConfig.
Filters (list) -- [REQUIRED]
A list of filters. Each filter acts on a property. Filters must contain at least one Filters value. For example, a NestedFilters call might include a filter on the PropertyName parameter of the InputDataConfig property: InputDataConfig.DataSource.S3DataSource.S3Uri.
(dict) --
A conditional statement for a search expression that includes a resource property, a Boolean operator, and a value. Resources that match the statement are returned in the results from the Search API.
If you specify a Value, but not an Operator, SageMaker uses the equals operator.
In search, there are several property types:
Metrics
To define a metric filter, enter a value using the form "Metrics.<name>", where <name> is a metric name. For example, the following filter searches for training jobs with an "accuracy" metric greater than "0.9":
{
"Name": "Metrics.accuracy",
"Operator": "GreaterThan",
"Value": "0.9"
}
HyperParameters
To define a hyperparameter filter, enter a value with the form "HyperParameters.<name>". Decimal hyperparameter values are treated as a decimal in a comparison if the specified Value is also a decimal value. If the specified Value is an integer, the decimal hyperparameter values are treated as integers. For example, the following filter is satisfied by training jobs with a "learning_rate" hyperparameter that is less than "0.5":
{
"Name": "HyperParameters.learning_rate",
"Operator": "LessThan",
"Value": "0.5"
}
Tags
To define a tag filter, enter a value with the form Tags.<key>.
Name (string) -- [REQUIRED]
A resource property name. For example, TrainingJobName. For valid property names, see SearchRecord. You must specify a valid property for the resource.
Operator (string) --
A Boolean binary operator that is used to evaluate the filter. The operator field contains one of the following values:
Equals
The value of Name equals Value.
NotEquals
The value of Name doesn't equal Value.
Exists
The Name property exists.
NotExists
The Name property does not exist.
GreaterThan
The value of Name is greater than Value. Not supported for text properties.
GreaterThanOrEqualTo
The value of Name is greater than or equal to Value. Not supported for text properties.
LessThan
The value of Name is less than Value. Not supported for text properties.
LessThanOrEqualTo
The value of Name is less than or equal to Value. Not supported for text properties.
In
The value of Name is one of the comma delimited strings in Value. Only supported for text properties.
Contains
The value of Name contains the string Value. Only supported for text properties.
A SearchExpression can include the Contains operator multiple times when the value of Name is one of the following:
Experiment.DisplayName
Experiment.ExperimentName
Experiment.Tags
Trial.DisplayName
Trial.TrialName
Trial.Tags
TrialComponent.DisplayName
TrialComponent.TrialComponentName
TrialComponent.Tags
TrialComponent.InputArtifacts
TrialComponent.OutputArtifacts
A SearchExpression can include only one Contains operator for all other values of Name. In these cases, if you include multiple Contains operators in the SearchExpression, the result is the following error message: " 'CONTAINS' operator usage limit of 1 exceeded."
Value (string) --
A value used with Name and Operator to determine which resources satisfy the filter's condition. For numerical properties, Value must be an integer or floating-point decimal. For timestamp properties, Value must be an ISO 8601 date-time string of the following format: YYYY-mm-dd'T'HH:MM:SS.
SubExpressions (list) --
A list of search expression objects.
(dict) --
A multi-expression that searches for the specified resource or resources in a search. All resource objects that satisfy the expression's condition are included in the search results. You must specify at least one subexpression, filter, or nested filter. A SearchExpression can contain up to twenty elements.
A SearchExpression contains the following components:
A list of Filter objects. Each filter defines a simple Boolean expression comprised of a resource property name, Boolean operator, and value.
A list of NestedFilter objects. Each nested filter defines a list of Boolean expressions using a list of resource properties. A nested filter is satisfied if a single object in the list satisfies all Boolean expressions.
A list of SearchExpression objects. A search expression object can be nested in a list of search expression objects.
A Boolean operator: And or Or.
Operator (string) --
A Boolean operator used to evaluate the search expression. If you want every conditional statement in all lists to be satisfied for the entire search expression to be true, specify And. If only a single conditional statement needs to be true for the entire search expression to be true, specify Or. The default value is And.
string
The name of the resource property used to sort the SearchResults. The default is LastModifiedTime.
string
How SearchResults are ordered. Valid values are Ascending or Descending. The default is Descending.
string
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.
integer
The maximum number of results to return.
string
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 ``ResourceCatalog``s viewable is 1000.
list
Limits the results of your search request to the resources that you can access.
(dict) --
The list of key-value pairs used to filter your search results. If a search result contains a key from your list, it is included in the final search response if the value associated with the key in the result matches the value you specified. If the value doesn't match, the result is excluded from the search response. Any resources that don't have a key from the list that you've provided will also be included in the search response.
Key (string) --
The key that specifies the tag that you're using to filter the search results. It must be in the following format: Tags.<key>.
Value (string) --
The value for the tag that you're using to filter the search results.
dict
Response Syntax
# This section is too large to render. # Please see the AWS API Documentation linked below.
Response Structure
# This section is too large to render. # Please see the AWS API Documentation linked below.