如何通过Sagemaker Studio镜像终端命令程序化停止实例?
可以通过Sagemaker Studio终端程序化关闭实例吗?
完全可以,你无需依赖生命周期配置的闲置检测机制,直接在Shell脚本末尾添加AWS CLI命令就能主动触发Sagemaker Studio实例的停机操作,完美适配大规模计算任务完成后立即停机的场景。
具体实现步骤:
确认终端的AWS CLI权限
Sagemaker Studio默认终端已配置对应实例的IAM权限,允许执行停止实例的操作。若后续命令报错权限不足,需给Studio关联的IAM执行角色添加sagemaker:StopApp权限。获取当前实例的关键标识信息
在终端中执行以下命令,获取当前Studio域、用户配置和应用实例的ID/名称:# 获取当前Sagemaker Studio域ID DOMAIN_ID=$(aws sagemaker describe-domain --query 'DomainId' --output text) # 获取当前用户配置名称 USER_PROFILE_NAME=$(aws sagemaker list-user-profiles --domain-id $DOMAIN_ID --query 'UserProfiles[0].UserProfileName' --output text) # 获取JupyterServer类型的应用名称(即Studio主实例) APP_NAME=$(aws sagemaker list-apps --domain-id $DOMAIN_ID --user-profile-name $USER_PROFILE_NAME --query 'Apps[?AppType==`JupyterServer`].AppName' --output text)执行停机命令
在脚本末尾添加以下命令,即可停止当前Studio主实例:aws sagemaker stop-app --domain-id $DOMAIN_ID --user-profile-name $USER_PROFILE_NAME --app-name $APP_NAME --app-type JupyterServer如果你需要停止的是当前运行的Kernel计算实例(而非整个Studio主实例),只需调整
AppType为KernelGateway,并替换对应的APP_NAME(可通过aws sagemaker list-apps命令查看所有Kernel类型应用):aws sagemaker stop-app --domain-id $DOMAIN_ID --user-profile-name $USER_PROFILE_NAME --app-name <你的Kernel应用名称> --app-type KernelGateway
内容的提问来源于stack exchange,提问作者00__00__00
相关产品推荐
相关产品推荐

