You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在SageMaker Notebook中获取当前SageMaker Studio用户配置文件名?

获取当前SageMaker Studio用户配置文件名称的实现方法

问题背景

已完成SageMaker域搭建并添加用户配置文件,登录Studio进入对应配置文件的Notebook后,已完成以下依赖安装:

!pip install --upgrade sagemaker
!pip install torch==1.9.1
!pip install torchvision==0.10.1

以及库导入:

import boto3
import numpy as np
import os
import sagemaker
import torch
import torchvision
from sagemaker.pytorch.model import PyTorchModel

用于创建域和用户配置文件的CloudFormation代码如下:

StudioDomain:
    Type: Custom::StudioDomain
    Properties:
      ServiceToken: !GetAtt StudioDomainFunction.Arn
      VPC: !Ref VPCId
      SubnetIds: !Ref SubnetIds
      DomainName: "MyDomainName"
      DefaultUserSettings:
        ExecutionRole: !GetAtt SageMakerExecutionRole.Arn

UserProfile:
    Type: Custom::UserProfile
    Properties:
      ServiceToken: !GetAtt UserProfileFunction.Arn
      DomainId: !GetAtt StudioDomain.DomainId
      UserProfileName: 'chuck'
      UserSettings:
        ExecutionRole: !GetAtt SageMakerExecutionRole.Arn

现需获取并打印当前使用的用户配置文件名称(示例为chuck)。

实现方案

方法一:直接读取环境变量(最快捷)

SageMaker Studio会自动为Notebook会话设置包含用户信息的环境变量,直接读取即可:

import os

user_profile_name = os.environ.get('SAGEMAKER_USER_PROFILE_NAME')
print(f"当前用户配置文件名称:{user_profile_name}")

方法二:通过SageMaker API验证(确保准确性)

如果需要通过API确认当前用户配置文件信息,可以结合Domain ID和执行角色ARN匹配:

import boto3
import sagemaker
import os

# 初始化SageMaker客户端
sagemaker_client = boto3.client('sagemaker')
# 获取当前会话的Domain ID
domain_id = os.environ.get('SAGEMAKER_DOMAIN_ID')
# 获取当前执行角色ARN
current_role_arn = sagemaker.get_execution_role()

# 列出当前Domain下所有用户配置文件
response = sagemaker_client.list_user_profiles(DomainIdEquals=domain_id)

# 匹配当前执行角色对应的用户配置文件
for profile in response['UserProfiles']:
    if profile['UserSettings']['ExecutionRole'] == current_role_arn:
        print(f"当前用户配置文件名称:{profile['UserProfileName']}")
        break

说明

  • 方法一无需额外API调用,适合快速获取;
  • 方法二通过API验证,适用于需要确认角色与用户配置文件关联关系的场景。

内容的提问来源于stack exchange,提问作者haju

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 12:53:25