本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
重要
允许 Amazon SageMaker Studio 或 Amazon SageMaker Studio Classic 创建亚马逊 SageMaker资源的自定义 IAM 策略还必须授予向这些资源添加标签的权限。之所以需要为资源添加标签的权限,是因为 Studio 和 Studio Classic 会自动为创建的任何资源添加标签。如果 IAM 策略允许 Studio 和 Studio Classic 创建资源但不允许标记,则在尝试创建资源时可能会出现 AccessDenied “” 错误。有关更多信息,请参阅 提供标记 A SageMaker I 资源的权限。
AWS 亚马逊 A SageMaker I 的托管策略授予创建 SageMaker 资源的权限已经包括在创建这些资源时添加标签的权限。
重要
截至 2023 年 11 月 30 日,之前的亚马逊 SageMaker Studio 体验现在被命名为 Amazon St SageMaker udio Classic。以下部分专门介绍如何使用 Studio Classic 应用程序。有关使用更新的 Studio 体验的信息,请参阅 亚马逊 SageMaker Studio。
Amazon SageMaker Studio Classic 界面基于此 JupyterLab,它是一个基于 Web 的交互式开发环境,用于存放笔记本、代码和数据。Studio 经典版仅支持使用 JupyterLab 3.
如果您使用 2022 年 8 月 31 日之前的或 23 年 2 月 22 日 AWS Management Console 之前的创建域名和用户配置文件,则您的 Stu AWS Command Line Interface dio Classic 实例默认为 1。 JupyterLab 2024 年 1 月 7 日之后,您将无法创建任何运行 1 的 Studio Classic 应用程序。 JupyterLab
JupyterLab 3
JupyterLab 3 包括以下在先前版本中没有的功能。有关这些功能的更多信息,请参阅 JupyterLab 3.0 已发布!
-
使用 Base Python 2.0 和 Data Science 2.0 内核时的可视化调试器。
-
文件浏览器筛选器
-
目录 (TOC)
-
多语言支持
-
简单模式
-
单接口模式
对 JupyterLab 3 的重要更改
使用 JupyterLab 3 时请考虑以下几点:
-
使用设置 JupyterLab 版本时 AWS CLI,请从中的图像列表中为您的区域和 JupyterLab 版本选择相应的图片来自 AWS CLI。
-
在 JupyterLab 3 中,你必须在安装扩展之前激活
studio
conda 环境。有关更多信息,请参阅 安装 JupyterLab 和 Jupyter 服务器扩展。 -
只有在使用以下映像时才支持 Debugger:
-
Base Python 2.0
-
Data Science 2.0
-
Base Python 3.0
-
Data Science 3.0
-
使用 IAM 策略条件密钥限制默认 JupyterLab 版本
您可以使用 IAM 策略条件密钥来限制您的用户可以启动的 JupyterLab 版本。
以下政策说明了如何在域级别限制 JupyterLab 版本。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Block users from creating JupyterLab 3 apps at the domain level",
"Effect": "Deny",
"Action": [
"sagemaker:CreateDomain",
"sagemaker:UpdateDomain"
],
"Resource": "*",
"Condition": {
"ForAnyValue:StringLike": {
"sagemaker:ImageArns": "*image/jupyter-server-3"
}
}
}
]
}
以下策略说明了如何在用户配置文件级别限制 JupyterLab 版本。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Block users from creating JupyterLab 3 apps at the user profile level",
"Effect": "Deny",
"Action": [
"sagemaker:CreateUserProfile",
"sagemaker:UpdateUserProfile"
],
"Resource": "*",
"Condition": {
"ForAnyValue:StringLike": {
"sagemaker:ImageArns": "*image/jupyter-server-3"
}
}
}
]
}
以下策略说明了如何在应用程序级别限制 JupyterLab 版本。CreateApp
请求必须包含映像 ARN,才能应用此策略。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Block users from creating JupyterLab 3 apps at the application level",
"Effect": "Deny",
"Action": "sagemaker:CreateApp",
"Resource": "*",
"Condition": {
"ForAnyValue:StringLike": {
"sagemaker:ImageArns": "*image/jupyter-server-3"
}
}
}
]
}
设置默认 JupyterLab版本
以下各节介绍如何使用控制台或 Studio Classic 设置默认 JupyterLab 版本 AWS CLI。
在 控制台中
在创建资源期间,您可以选择要在域或用户配置文件级别上使用的默认 JupyterLab 版本。要使用控制台设置默认 JupyterLab 版本,请参阅亚马逊 SageMaker AI 域名概述。
来自 AWS CLI
您可以使用选择要在域或用户配置文件级别上使用的默认 JupyterLab 版本 AWS CLI。
要使用设置默认 JupyterLab 版本 AWS CLI,您必须在命令中包含所需默认 JupyterLab 版本的 ARN。 AWS CLI 此 ARN 因 A SageMaker I 域的版本和区域而异。
下表列出了每个区域 ARNs 的可用 JupyterLab 版本:
区域 | JL3 |
---|---|
us-east-1 | arn:aws:sagemaker:us-east-1:081325390199:image/jupyter-server-3 |
us-east-2 | arn:aws:sagemaker:us-east-2:429704687514:image/jupyter-server-3 |
us-west-1 | arn:aws:sagemaker:us-west-1:742091327244:image/jupyter-server-3 |
us-west-2 | arn:aws:sagemaker:us-west-2:236514542706:image/jupyter-server-3 |
af-south-1 | arn:aws:sagemaker:af-south-1:559312083959:image/jupyter-server-3 |
ap-east-1 | arn:aws:sagemaker:ap-east-1:493642496378:image/jupyter-server-3 |
ap-south-1 | arn:aws:sagemaker:ap-south-1:394103062818:image/jupyter-server-3 |
ap-northeast-2 | arn:aws:sagemaker:ap-northeast-2:806072073708:image/jupyter-server-3 |
ap-southeast-1 | arn:aws:sagemaker:ap-southeast-1:492261229750:image/jupyter-server-3 |
ap-southeast-2 | arn:aws:sagemaker:ap-southeast-2:452832661640:image/jupyter-server-3 |
ap-northeast-1 | arn:aws:sagemaker:ap-northeast-1:102112518831:image/jupyter-server-3 |
ca-central-1 | arn:aws:sagemaker:ca-central-1:310906938811:image/jupyter-server-3 |
eu-central-1 | arn:aws:sagemaker:eu-central-1:936697816551:image/jupyter-server-3 |
eu-west-1 | arn:aws:sagemaker:eu-west-1:470317259841:image/jupyter-server-3 |
eu-west-2 | arn:aws:sagemaker:eu-west-2:712779665605:image/jupyter-server-3 |
eu-west-3 | arn:aws:sagemaker:eu-west-3:615547856133:image/jupyter-server-3 |
eu-north-1 | arn:aws:sagemaker:eu-north-1:243637512696:image/jupyter-server-3 |
eu-south-1 | arn:aws:sagemaker:eu-south-1:592751261982:image/jupyter-server-3 |
eu-south-2 | arn:aws:sagemaker:eu-south-2:127363102723:image/jupyter-server-3 |
sa-east-1 | arn:aws:sagemaker:sa-east-1:782484402741:image/jupyter-server-3 |
cn-north-1 | arn:aws-cn:sagemaker:cn-north-1:390048526115:image/jupyter-server-3 |
cn-northwest-1 | arn:aws-cn:sagemaker:cn-northwest-1:390780980154:image/jupyter-server-3 |
创建或更新域
您可以通过调用CreateDomain或UpdateDomain并传递UserSettings.JupyterServerAppSettings.DefaultResourceSpec.SageMakerImageArn
字段来在域级别设置默认 JupyterServer 版本。
以下内容显示了如何使用以下方法创建默认值为 JupyterLab 3 的域 AWS CLI:
aws --region
<REGION>
\ sagemaker create-domain \ --domain-name<NEW_DOMAIN_NAME>
\ --auth-mode<AUTHENTICATION_MODE>
\ --subnet-ids<SUBNET-IDS>
\ --vpc-id<VPC-ID>
\ --default-user-settings '{ "JupyterServerAppSettings": { "DefaultResourceSpec": { "SageMakerImageArn": "arn:aws:sagemaker:<REGION>
:<ACCOUNT_ID>
:image/jupyter-server-3", "InstanceType": "system" } } }'
以下内容显示了如何使用以下方法更新域名以使用 JupyterLab 3 作为默认域 AWS CLI:
aws --region
<REGION>
\ sagemaker update-domain \ --domain-id<YOUR_DOMAIN_ID>
\ --default-user-settings '{ "JupyterServerAppSettings": { "DefaultResourceSpec": { "SageMakerImageArn": "arn:aws:sagemaker:<REGION>
:<ACCOUNT_ID>
:image/jupyter-server-3", "InstanceType": "system" } } }'
创建或更新用户配置文件
通过调用CreateUserProfile或UpdateUserProfile并传递UserSettings.JupyterServerAppSettings.DefaultResourceSpec.SageMakerImageArn
字段,可以在用户配置文件级别设置默认 JupyterServer 版本。
以下内容显示了如何使用以下方法在现有网域上创建默认值为 JupyterLab 3 的用户配置文件 AWS CLI:
aws --region
<REGION>
\ sagemaker create-user-profile \ --domain-id<YOUR_DOMAIN_ID>
\ --user-profile-name<NEW_USERPROFILE_NAME>
\ --query UserProfileArn --output text \ --user-settings '{ "JupyterServerAppSettings": { "DefaultResourceSpec": { "SageMakerImageArn": "arn:aws:sagemaker:<REGION>
:<ACCOUNT_ID>
:image/jupyter-server-3", "InstanceType": "system" } } }'
以下内容显示了如何使用以下方法更新用户配置文件以使用 JupyterLab 3 作为默认值 AWS CLI:
aws --region
<REGION>
\ sagemaker update-user-profile \ --domain-id<YOUR_DOMAIN_ID>
\ --user-profile-name<EXISTING_USERPROFILE_NAME>
\ --user-settings '{ "JupyterServerAppSettings": { "DefaultResourceSpec": { "SageMakerImageArn": "arn:aws:sagemaker:<REGION>
:<ACCOUNT_ID>
:image/jupyter-server-3", "InstanceType": "system" } } }'
从控制台查看和更新应用程序的 JupyterLab 版本
以下内容显示了如何查看和更新应用程序的 JupyterLab 版本。
-
导航到 A SageMaker I 域名页面。
-
选择一个域以查看其用户配置文件。
-
选择一个用户以查看其应用程序。
-
要查看应用程序的 JupyterLab 版本,请选择该应用程序的名称。
-
要更新 JupyterLab 版本,请选择操作。
-
从下拉菜单中选择 “更改 JupyterLab 版本”。
-
在 Studio Classic 设置页面中,从下拉菜单中选择 JupyterLab 版本。
-
成功更新用户配置文件的 JupyterLab 版本后,重新启动 JupyterServer 应用程序以使版本更改生效。有关重新启动 JupyterServer 应用程序的更多信息,请参阅关闭并更新 SageMaker Studio 经典版。
安装 JupyterLab 和 Jupyter 服务器扩展
在 JupyterLab 3 中,你必须在安装扩展之前激活 studio
conda 环境。安装方法会有所不同,具体取决于您是从 Studio Classic 中安装扩展程序还是使用生命周期配置脚本。
从 Studio Classic 中安装扩展程序
要从 Studio Classic 中安装扩展程序,必须先激活 studio
环境,然后再安装扩展程序。
# Before installing extensions conda activate studio # Install your extensions pip install
<JUPYTER_EXTENSION>
# After installing extensions conda deactivate
使用生命周期配置脚本安装扩展程序
如果您要在生命周期配置脚本中安装 JupyterLab 和 Jupyter Server 扩展程序,则必须修改脚本使其与 JupyterLab 3 配合使用。以下各节显示现有和新的生命周期配置脚本所需的代码。
现有的生命周期配置脚本
如果您要重复使用必须同时适用于两个版本的现有生命周期配置脚本 JupyterLab,请在脚本中使用以下代码:
# Before installing extension export AWS_SAGEMAKER_JUPYTERSERVER_IMAGE="${AWS_SAGEMAKER_JUPYTERSERVER_IMAGE:-'jupyter-server'}" if [ "$AWS_SAGEMAKER_JUPYTERSERVER_IMAGE" = "jupyter-server-3" ] ; then eval "$(conda shell.bash hook)" conda activate studio fi; # Install your extensions pip install
<JUPYTER_EXTENSION>
# After installing extension if [ "$AWS_SAGEMAKER_JUPYTERSERVER_IMAGE" = "jupyter-server-3" ]; then conda deactivate fi;
新的生命周期配置脚本
如果您正在编写仅使用 JupyterLab 3 的新生命周期配置脚本,则可以在脚本中使用以下代码:
# Before installing extension eval "$(conda shell.bash hook)" conda activate studio # Install your extensions pip install
<JUPYTER_EXTENSION>
conda deactivate