2 Answers
- Newest
- Most votes
- Most comments
2
I made a script for myself in python to output running instances, maybe it is helpful for your usecase.
import boto3 import csv client = boto3.client('sagemaker') response_apps = client.list_apps( #NextToken='string', MaxResults=10, SortOrder='Ascending', SortBy='CreationTime', ) running_instances = [] while True: for app in response_apps["Apps"]: if app["AppType"] != "JupyterServer" and app["Status"] != "Deleted": response = client.describe_app( DomainId=app["DomainId"], UserProfileName=app["UserProfileName"], AppType=app["AppType"], AppName=app["AppName"] ) #print(response) running_instances.append( { "AppArn": response["AppArn"], "DomainId": response["DomainId"], "UserProfileName": response["UserProfileName"], "Status": response["Status"], "InstanceType": response["ResourceSpec"]["InstanceType"], "CreationTime": str(response["CreationTime"]), "LastUserActivityTimestamp": str(response["LastUserActivityTimestamp"]), "SageMakerImageArn": response["ResourceSpec"]["SageMakerImageArn"], } ) if "NextToken" in response_apps: response_apps = client.list_apps( NextToken=response_apps["NextToken"], MaxResults=10, SortOrder='Ascending', SortBy='CreationTime' ) else: break print(running_instances) keys = running_instances[0].keys() with open('running_instances.csv', 'w', newline='') as output_file: dict_writer = csv.DictWriter(output_file, keys) dict_writer.writeheader() dict_writer.writerows(running_instances)
answered 7 months ago
0
You cannot view instance status since these are managed by SageMaker service. You can, however, use the list-apps
and describe-app
CLI calls to see the apps in service for the user, and work backwards to find the instances that are being used by the user.
answered a year ago
Relevant content
- Accepted Answer
- Accepted Answerasked 7 months ago
- Accepted Answerasked a year ago
- AWS OFFICIALUpdated a year ago
- AWS OFFICIALUpdated 2 years ago
- AWS OFFICIALUpdated 5 months ago
- AWS OFFICIALUpdated a year ago