第 1 阶段:将用户界面从 Studio Classic 迁移到 - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

第 1 阶段:将用户界面从 Studio Classic 迁移到

迁移现有域名的第一阶段是将用户界面从 Amazon SageMaker Studio Classic 迁移到亚马逊 SageMaker Studio。

第 1 阶段包括以下步骤:

  1. 在迁移现有域之前,创建测试域以验证配置。

  2. 迁移现有域。

  3. 清理测试域。

先决条件

在运行这些步骤之前,请完成中的先决条件先决条件

步骤 1:创建测试域

在将现有域从 Studio Classic 迁移到 Studio 之前,我们建议使用 Studio 创建一个与现有域名配置相同的测试域。在迁移现有域之前,使用此测试域与 Studio 交互、测试网络配置和启动应用程序。

  1. 获取现有域名的域名 ID。

    1. 打开亚马逊 SageMaker 控制台,网址为 https://console.aws.amazon.com/sagemaker/

    2. 在左侧导航窗格中,展开 “管理员配置”,然后选择 “”。

    3. 选择现有域。

    4. 域详细信息页面上,选择域设置选项卡。

    5. 复制域名

  2. 添加现有域名的域名 ID。

    export REF_DOMAIN_ID="domain-id" export SM_REGION="region"
  3. 用于describe-domain获取有关现有域名的重要信息。

    export REF_EXECROLE=$(aws sagemaker describe-domain --region=$SM_REGION --domain-id=$REF_DOMAIN_ID | jq -r '.DefaultUserSettings.ExecutionRole') export REF_VPC=$(aws sagemaker describe-domain --region=$SM_REGION --domain-id=$REF_DOMAIN_ID | jq -r '.VpcId') export REF_SIDS=$(aws sagemaker describe-domain --region=$SM_REGION --domain-id=$REF_DOMAIN_ID | jq -r '.SubnetIds | join(",")') export REF_SGS=$(aws sagemaker describe-domain --region=$SM_REGION --domain-id=$REF_DOMAIN_ID | jq -r '.DefaultUserSettings.SecurityGroups | join(",")') export AUTHMODE=$(aws sagemaker describe-domain --region=$SM_REGION --domain-id=$REF_DOMAIN_ID | jq -r '.AuthMode')
  4. 验证参数。

    echo "Execution Role: $REF_EXECROLE || VPCID: $REF_VPC || SubnetIDs: $REF_SIDS || Security GroupIDs: $REF_SGS || AuthMode: $AUTHMODE"
  5. 使用现有域中的配置创建测试域。

    IFS=',' read -r -a subnet_ids <<< "$REF_SIDS" IFS=',' read -r -a security_groups <<< "$REF_SGS" security_groups_json=$(printf '%s\n' "${security_groups[@]}" | jq -R . | jq -s .) aws sagemaker create-domain \ --domain-name "TestV2Config" \ --vpc-id $REF_VPC \ --auth-mode $AUTHMODE \ --subnet-ids "${subnet_ids[@]}" \ --app-network-access-type VpcOnly \ --default-user-settings " { \"ExecutionRole\": \"$REF_EXECROLE\", \"StudioWebPortal\": \"ENABLED\", \"DefaultLandingUri\": \"studio::\", \"SecurityGroups\": $security_groups_json } "
  6. 测试域名完成后In Service,使用测试域的 ID 创建用户个人资料。此用户配置文件用于启动和测试应用程序。

    aws sagemaker create-user-profile \ --region="$SM_REGION" --domain-id=test-domain-id \ --user-profile-name test-network-user

更新应用程序创建权限

测试域完成后In Service,更新测试域的执行角色以授予用户创建应用程序的权限。

  1. 按照创建 IAM Amazon Identity and Access Management 策略中的步骤创建包含以下内容之一的策略

    • 使用以下策略授予所有应用程序类型和空间的权限。

      注意

      如果测试域使用该SageMakerFullAccess策略,则无需执行此操作。 SageMakerFullAccess授予创建所有应用程序的权限。

      { "Version": "2012-10-17", "Statement": [ { "Sid": "SMStudioUserProfileAppPermissionsCreateAndDelete", "Effect": "Allow", "Action": [ "sagemaker:CreateApp", "sagemaker:DeleteApp" ], "Resource": "arn:aws:sagemaker:region:account-id:app/*", "Condition": { "Null": { "sagemaker:OwnerUserProfileArn": "true" } } }, { "Sid": "SMStudioCreatePresignedDomainUrlForUserProfile", "Effect": "Allow", "Action": [ "sagemaker:CreatePresignedDomainUrl" ], "Resource": "arn:aws:sagemaker:region:account-id:user-profile/${sagemaker:DomainId}/${sagemaker:UserProfileName}" }, { "Sid": "SMStudioAppPermissionsListAndDescribe", "Effect": "Allow", "Action": [ "sagemaker:ListApps", "sagemaker:ListDomains", "sagemaker:ListUserProfiles", "sagemaker:ListSpaces", "sagemaker:DescribeApp", "sagemaker:DescribeDomain", "sagemaker:DescribeUserProfile", "sagemaker:DescribeSpace" ], "Resource": "*" }, { "Sid": "SMStudioAppPermissionsTagOnCreate", "Effect": "Allow", "Action": [ "sagemaker:AddTags" ], "Resource": "arn:aws:sagemaker:region:account-id:*/*", "Condition": { "Null": { "sagemaker:TaggingAction": "false" } } }, { "Sid": "SMStudioRestrictSharedSpacesWithoutOwners", "Effect": "Allow", "Action": [ "sagemaker:CreateSpace", "sagemaker:UpdateSpace", "sagemaker:DeleteSpace" ], "Resource": "arn:aws:sagemaker:region:account-id:space/${sagemaker:DomainId}/*", "Condition": { "Null": { "sagemaker:OwnerUserProfileArn": "true" } } }, { "Sid": "SMStudioRestrictSpacesToOwnerUserProfile", "Effect": "Allow", "Action": [ "sagemaker:CreateSpace", "sagemaker:UpdateSpace", "sagemaker:DeleteSpace" ], "Resource": "arn:aws:sagemaker:region:account-id:space/${sagemaker:DomainId}/*", "Condition": { "ArnLike": { "sagemaker:OwnerUserProfileArn": "arn:aws:sagemaker:us-east-1:account-id:user-profile/${sagemaker:DomainId}/${sagemaker:UserProfileName}" }, "StringEquals": { "sagemaker:SpaceSharingType": [ "Private", "Shared" ] } } }, { "Sid": "SMStudioRestrictCreatePrivateSpaceAppsToOwnerUserProfile", "Effect": "Allow", "Action": [ "sagemaker:CreateApp", "sagemaker:DeleteApp" ], "Resource": "arn:aws:sagemaker:region:account-id:app/${sagemaker:DomainId}/*", "Condition": { "ArnLike": { "sagemaker:OwnerUserProfileArn": "arn:aws:sagemaker:us-east-1:account-id:user-profile/${sagemaker:DomainId}/${sagemaker:UserProfileName}" }, "StringEquals": { "sagemaker:SpaceSharingType": [ "Private" ] } } }, { "Sid": "AllowAppActionsForSharedSpaces", "Effect": "Allow", "Action": [ "sagemaker:CreateApp", "sagemaker:DeleteApp" ], "Resource": "arn:aws:sagemaker:*:*:app/${sagemaker:DomainId}/*/*/*", "Condition": { "StringEquals": { "sagemaker:SpaceSharingType": [ "Shared" ] } } } ] }
    • 由于 Studio 显示了一组扩展的应用程序,因此用户可以访问以前未显示的应用程序。管理员可以通过创建 Amazon Identity and Access Management (IAM) 策略来限制对这些默认应用程序的访问权限,该策略向特定用户授予某些应用程序的拒绝权限。

      注意

      应用程序类型可以是jupyterlabcodeeditor

      { "Version": "2012-10-17", "Statement": [ { "Sid": "DenySageMakerCreateAppForSpecificAppTypes", "Effect": "Deny", "Action": "sagemaker:CreateApp", "Resource": "arn:aws:sagemaker:region:account-id:app/domain-id/*/app-type/*" } ] }
  2. 将策略附加到测试域的执行角色。有关说明,请按照添加 IAM 身份权限(控制台)中的步骤进行操作。

测试工作室功能

使用test-network-user用户配置文件启动测试域。我们建议您彻底测试 Studio 用户界面并创建应用程序以在VPCOnly模式下测试 Studio 的功能。测试以下工作流程:

  • 创建新 JupyterLab 空间、测试环境和连通性。

  • 基于 Code-OSS、Visual Studio Code-开源空间、测试环境和连接性创建新的代码编辑器。

  • 启动新的 Studio 经典版应用程序、测试环境和连接。

  • 使用测试读取和写入操作测试 Amazon 简单存储服务的连接。

如果这些测试成功,则升级现有域。如果您遇到任何故障,我们建议您在更新现有域之前修复您的环境和连接问题。

步骤 2:迁移现有域名

使用测试域中的配置测试 Studio 功能后,迁移现有域。当 Studio 是网域的默认体验时,Studio 是网域中所有用户的默认体验。但是,用户设置优先于域设置。因此,如果用户在其用户设置中将其默认体验设置为 Studio Classic,则该用户将使用 Studio Classic 作为其默认体验。

您可以通过从 SageMaker 控制台、或更新现有域来迁移该 Amazon CLI域 Amazon CloudFormation。选择以下选项卡之一以查看相关说明。

您可以使用 SageMaker 控制台将 Studio 设置为现有域的默认体验。

  1. 打开亚马逊 SageMaker 控制台,网址为 https://console.aws.amazon.com/sagemaker/

  2. 从左侧导航窗格中展开 “管理员配置”,然后选择 “”。

  3. 选择要启用 Studio 作为其默认体验的现有域名。

  4. 域名详细信息页面上,展开启用新 Studio

  5. (可选)要查看有关启用 Studio 作为默认体验所涉及的步骤的详细信息,请选择查看详细信息。该页面显示以下内容。

    • SageMaker Studio 概述部分,您可以查看 Studio 基于 Web 的界面中包含或可用的应用程序。

    • 在 “启用流程” 部分,您可以查看启用 Studio 的工作流任务的描述。

      注意

      您需要手动迁移数据。有关迁移数据的说明,请参阅第 3 阶段:迁移数据

    • 在 “恢复为 Studio 经典版” 体验部分,您可以查看在启用 Studio 作为默认体验后如何恢复到 Studio Classic。

  6. 要开始启用 Studio 作为默认体验的过程,请选择启用新 Studio

  7. 在 “指定和配置角色” 部分,您可以查看 Studio 中自动包含的默认应用程序。

    要防止用户运行这些应用程序,请选择具有拒绝访问的 IAM 策略的 Amazon Identity and Access Management (IAM) 角色。有关如何创建限制访问权限的策略的信息,请参阅更新应用程序创建权限

  8. 选择默认 S3 存储桶以附加 CORS 策略部分,您可以授予 Studio 对 Amazon S3 存储桶的访问权限。在本例中,默认 Amazon S3 存储桶是 Studio Classic 的默认 Amazon S3 存储桶。在此步骤中,您可以执行以下操作:

    • 验证要将 CORS 策略附加到的域的默认 Amazon S3 存储桶。如果您的域名没有默认 Amazon S3 存储桶,请 SageMaker 创建一个附有正确跨域资源共享策略的 Amazon S3 存储桶。

    • 您可以附加 10 个额外的 Amazon S3 存储桶,以便将 CORS 策略附加到其中。

      如果您希望包含 10 个以上的存储桶,则可以手动添加它们。有关手动将 CORS 策略附加到您的 Amazon S3 存储桶的更多信息,请参阅。更新您的 CORS 政策以访问亚马逊 S3 存储桶

    要继续,请选中 “您是否同意覆盖所选 Amazon S3 存储桶上的任何现有 CORS 策略?” 旁边的复选框 。

  9. 迁移数据部分包含有关 Studio Classic 和 Studio 的不同数据存储卷的信息。您的数据不会通过此过程自动迁移。有关迁移数据、生命周期配置和 JupyterLab 扩展插件的说明,请参阅第 3 阶段:迁移数据

  10. 完成页面上的任务并验证配置后,选择启用新 Studio

要使用将 Studio 设置为现有网域的默认体验 Amazon CLI,请使用更新域调用。必须将设置ENABLED为的值StudioWebPortal,并studio::作为default-user-settings参数的一部分设置为DefaultLandingUri的值。 

StudioWebPortal指示 Studio 体验是否为默认体验,并DefaultLandingUri指明用户在访问域名时被引导到的默认体验。在此示例中,在网域级别(在default-user-settings)上设置这些值会使 Studio 成为网域内用户的默认体验。

如果域中的用户在用户级别(中UserSettings)将其DefaultLandingUriapp:JupyterServer:设置为DISABLED和设置为,则其StudioWebPortal优先级高于域设置。换句话说,无论域名设置如何,该用户都将使用 Studio Classic 作为其默认体验。

以下代码示例说明如何将 Studio 设置为网域内用户的默认体验:

aws sagemaker update-domain \ --domain-id existing-domain-id \ --region Amazon Web Services 区域 \ --default-user-settings ' { "StudioWebPortal": "ENABLED", "DefaultLandingUri": "studio::" } '
  • 要获取您的existing-domain-id,请按照以下说明操作:

    要获得 existing-domain-id
    1. 打开亚马逊 SageMaker 控制台,网址为 https://console.aws.amazon.com/sagemaker/

    2. 在左侧导航窗格中,展开 “管理员配置”,然后选择 “”。

    3. 选择现有域。

    4. 域详细信息页面上,选择域设置选项卡。

    5. 复制域名

  • 为确保您使用的域名正确无误 Amazon Web Services 区域 ,请按照以下说明进行操作:

    要获得 Amazon Web Services 区域
    1. 打开亚马逊 SageMaker 控制台,网址为 https://console.aws.amazon.com/sagemaker/

    2. 在左侧导航窗格中,展开 “管理员配置”,然后选择 “”。

    3. 选择现有域。

    4. 域名详细信息页面上,确认这是否是现有域。

    5. 展开 SageMaker控制台右上角的 Amazon Web Services 区域 下拉列表,然后使用 Amazon Web Services 区域 名字右侧的相应 Amazon Web Services 区域 ID。例如,us-west-1

将默认体验迁移到 Studio 后,您可以向 Studio 授予对 Amazon S3 存储桶的访问权限。例如,您可以允许访问您的 Studio Classic 默认 Amazon S3 存储桶和其他亚马逊 S3 存储桶。为此,您必须手动将跨源资源共享 (CORS) 配置附加到 Amazon S3 存储桶。有关如何手动将 CORS 策略附加到您的 Amazon S3 存储桶的更多信息,请参阅。更新您的 CORS 政策以访问亚马逊 S3 存储桶

同样,当你 Amazon CLI 使用创建域名调用创建域名时,你可以将 Studio 设置为默认体验。 

使用创建网域时,您可以设置默认体验 Amazon CloudFormation。有关 Amazon CloudFormation 迁移模板,请参阅 SageMaker Studio 管理员 IaC 模板。有关使用创建域名的更多信息 Amazon CloudFormation,请参阅使用创建 Amazon SageMaker 域名 Amazon CloudFormation

有关支持的域资源的信息 Amazon CloudFormation,请参阅Amazon::SageMaker: Domain

将默认体验迁移到 Studio 后,您可以向 Studio 授予对 Amazon S3 存储桶的访问权限。例如,您可以允许访问您的 Studio Classic 默认 Amazon S3 存储桶和其他亚马逊 S3 存储桶。为此,您必须手动将跨源资源共享 (CORS) 配置附加到 Amazon S3 存储桶。有关如何手动将 CORS 策略附加到您的 Amazon S3 存储桶的信息,请参阅。更新您的 CORS 政策以访问亚马逊 S3 存储桶

更新您的 CORS 政策以访问亚马逊 S3 存储桶

在 Studio Classic 中,用户可以创建、列出文件并将其上传到亚马逊简单存储服务 (Amazon S3) 存储桶。为了在 Studio 中获得相同的体验,管理员必须将跨源资源共享 (CORS) 配置附加到 Amazon S3 存储桶。 这是必需的,因为 Studio 通过互联网浏览器拨打 Amazon S3 电话。浏览器代表用户调用 CORS。因此,除非将 CORS 策略附加到 Amazon S3 存储桶,否则所有对 Amazon S3 存储桶的请求都会失败。

出于以下原因,您可能需要手动将 CORS 策略附加到 Amazon S3 存储桶。

  • 如果在将现有域名的默认体验迁移到 Studio 时,已经存在一个未附加正确的 CORS 策略的 Amazon S3 默认存储桶。

  • 如果您使用将现有网域的默认体验迁移 Amazon CLI 到 Studio。有关使用进行迁 Amazon CLI 移的信息,请参阅使用将 Studio 设置为现有网域的默认体验 Amazon CLI

  • 如果您想将 CORS 策略附加到其他 Amazon S3 存储桶。

注意

如果您计划使用 SageMaker 控制台启用 Studio 作为默认体验,则在迁移过程中,您附加了 CORS 策略的 Amazon S3 存储桶的现有 CORS 策略将被覆盖。因此,您可以忽略以下手动说明。

但是,如果您已经使用 SageMaker 控制台进行迁移,并且想要添加更多 Amazon S3 存储桶以附加 CORS 策略,请继续按照以下手动说明进行操作。

以下过程说明如何手动将 CORS 配置添加到 Amazon S3 存储桶。

向 Amazon S3 存储桶添加 CORS 配置
  1. 验证是否存在与现有域名相同 Amazon Web Services 区域 的 Amazon S3 存储桶,名称如下。有关说明,请参阅查看 Amazon S3 存储桶的属性

    sagemaker-region-account-id
  2. 将包含以下内容的 CORS 配置添加到默认 Amazon S3 存储桶。有关说明,请参阅配置跨域资源共享 (CORS)。

    [ { "AllowedHeaders": [ "*" ], "AllowedMethods": [ "POST", "PUT", "GET", "HEAD", "DELETE" ], "AllowedOrigins": [ "https://*.sagemaker.aws" ], "ExposeHeaders": [ "ETag", "x-amz-delete-marker", "x-amz-id-2", "x-amz-request-id", "x-amz-server-side-encryption", "x-amz-version-id" ] } ]

从 Studio 经典版中的数据牧马人迁移到 Canvas SageMaker

Amazon SageMaker Data Wrangler 作为自己的功能存在于 Studio Classic 体验中。当您启用 Studio 作为默认体验时,请使用 Amazon SageMaker Canvas 应用程序访问 Data Wrangler 功能。 SageMaker Canvas 是一款无需编写任何代码即可训练和部署机器学习模型的应用程序,而 Canvas 提供了由 Data Wrangler 提供支持的数据准备功能。

新的 Studio 体验不支持经典的 Data Wrangler 用户界面,如果要继续使用 Data Wrangler,则必须创建 Canvas 应用程序。但是,您必须拥有必要的权限才能创建和使用 Canvas 应用程序。

完成以下步骤,将必要的权限策略附加到您的 SageMaker网域或用户的 Amazon IAM 角色。

在 Canvas 中授予 Data Wrangler 功能的权限
  1. 将 Amazon 托管策略附加AmazonSageMakerFullAccess到用户的 IAM 角色。有关向您展示如何将 IAM 策略附加到角色的过程,请参阅 IAM 用户指南中的添加 I Amazon AM 身份权限(控制台)

    如果此权限策略对您的用例来说过于宽松,则可以创建至少包含以下权限的范围缩小策略:

    { "Sid": "AllowStudioActions", "Effect": "Allow", "Action": [ "sagemaker:CreatePresignedDomainUrl", "sagemaker:DescribeDomain", "sagemaker:ListDomains", "sagemaker:DescribeUserProfile", "sagemaker:ListUserProfiles", "sagemaker:DescribeSpace", "sagemaker:ListSpaces", "sagemaker:DescribeApp", "sagemaker:ListApps" ], "Resource": "*" }, { "Sid": "AllowAppActionsForUserProfile", "Effect": "Allow", "Action": [ "sagemaker:CreateApp", "sagemaker:DeleteApp" ], "Resource": "arn:aws:sagemaker:region:account-id:app/domain-id/user-profile-name/canvas/*", "Condition": { "Null": { "sagemaker:OwnerUserProfileArn": "true" } } }
  2. 将 Amazon 托管策略附加AmazonSageMakerCanvasDataPrepFullAccess到用户的 IAM 角色。

附加必要权限后,您可以创建 Canvas 应用程序并登录。有关更多信息,请参阅 开始使用 Amazon C SageMaker anvas

登录 Canvas 后,你可以直接访问 Data Wrangler 并开始创建数据流。有关更多信息,请参阅 Canvas 文档准备数据中的。

从 Studio Classic 中的自动驾驶仪迁移到 SageMaker

Amazon SageMaker Autopilot 作为自己的功能存在于 Studio Classic 体验中。当您迁移到使用更新后的 Studio 体验时,请使用 Amazon SageMaker Canvas 应用程序通过用户界面 (UI) 继续使用相同的自动机器学习 (AutoML) 功能。 SageMaker Canvas 是一款无需编写任何代码即可训练和部署机器学习模型的应用程序,而 Canvas 提供了一个用于运行 AutoML 任务的用户界面。

全新 Studio 体验不支持经典的自动驾驶用户界面。如果您想通过用户界面继续使用 Autopilot 的 AutoML 功能,则必须创建 Canvas 应用程序。

但是,您必须拥有必要的权限才能创建和使用 Canvas 应用程序。

  • 如果您从 Studio 访问 SageMaker Canvas,请将这些权限添加到您的 SageMaker 域名或用户个人资料的执行角色中。

  • 如果您从控制台访问 SageMaker Canvas,请将这些权限添加到用户的 Amazon IAM 角色中。

  • 如果您通过预签名 URL 访问 SageMaker Canvas,请将这些权限添加到您用于访问 Okta SSO 的 IAM 角色中。

要在 Canvas 中启用 AutoML 功能,请将以下策略添加到您的执行角色或 IAM 用户角色。

  • Amazon 托管策略:CanvasFullAccess

  • 内联策略:

    { "Sid": "AllowAppActionsForUserProfile", "Effect": "Allow", "Action": [ "sagemaker:CreateApp", "sagemaker:DeleteApp" ], "Resource": "arn:aws:sagemaker:region:account-id:app/domain-id/user-profile-name/canvas/*", "Condition": { "Null": { "sagemaker:OwnerUserProfileArn": "true" } } }
将 IAM 策略附加到执行角色
  1. 查找附加到您的 SageMaker 用户个人资料的执行角色
    1. 在 SageMaker 控制台中https://console.amazonaws.cn/sagemaker/,导航到域名,然后选择您的 SageMaker域名。

    2. 执行角色 ARN 列在您的用户个人资料的 “用户详情” 页面的 “执行角色” 下。记下 ARN 中的执行角色名称。

    3. 在 IAM 控制台 https://console.aws.amazon.com/iam/ 中,选择角色

    4. 在搜索栏中按姓名搜索您的角色。

    5. 选择角色。

  2. 向角色添加策略

    1. 在 IAM 控制台 https://console.aws.amazon.com/iam/ 中,选择角色

    2. 在搜索栏中按姓名搜索您的角色。

    3. 选择角色。

    4. 在 “权限” 选项卡中,导航到下拉菜单添加权限

      • 对于托管策略:选择附加策略,搜索要附加的管理策略的名称。

        选择策略,然后选择添加权限

      • 对于内联策略:选择创建内联策略,将您的策略粘贴到 JSON 选项卡中,选择下一步,命名您的策略,然后选择创建

有关向您展示如何将 IAM 策略附加到角色的过程,请参阅 IAM 用户指南中的添加 I Amazon AM 身份权限(控制台)

附加必要权限后,您可以创建 Canvas 应用程序并登录。有关更多信息,请参阅 开始使用 Amazon C SageMaker anvas

清理测试域资源

迁移现有域后,清理测试域资源。

  1. 添加测试域的 ID。

    export TEST_DOMAIN="test-domain-id" export SM_REGION="region"
  2. 列出域中所有处于运行状态的应用程序。

    active_apps_json=$(aws sagemaker list-apps --region=$SM_REGION --domain-id=$TEST_DOMAIN) echo $active_apps_json
  3. 解析正在运行的应用程序的 JSON 列表并将其删除。如果用户尝试创建他们没有权限的应用程序,则可能存在未在以下脚本中捕获的空格。您必须手动删除这些空间。

    echo "$active_apps_json" | jq -c '.Apps[]' | while read -r app; do if echo "$app" | jq -e '. | has("SpaceName")' > /dev/null; then app_type=$(echo "$app" | jq -r '.AppType') app_name=$(echo "$app" | jq -r '.AppName') domain_id=$(echo "$app" | jq -r '.DomainId') space_name=$(echo "$app" | jq -r '.SpaceName') echo "Deleting App - AppType: $app_type || AppName: $app_name || DomainId: $domain_id || SpaceName: $space_name" aws sagemaker delete-app --region=$SM_REGION --domain-id=$domain_id \ --app-type $app_type --app-name $app_name --space-name $space_name echo "Deleting Space - AppType: $app_type || AppName: $app_name || DomainId: $domain_id || SpaceName: $space_name" aws sagemaker delete-space --region=$SM_REGION --domain-id=$domain_id \ --space-name $space_name else app_type=$(echo "$app" | jq -r '.AppType') app_name=$(echo "$app" | jq -r '.AppName') domain_id=$(echo "$app" | jq -r '.DomainId') user_profile_name=$(echo "$app" | jq -r '.UserProfileName') echo "Deleting Studio Classic - AppType: $app_type || AppName: $app_name || DomainId: $domain_id || UserProfileName: $user_profile_name" aws sagemaker delete-app --region=$SM_REGION --domain-id=$domain_id \ --app-type $app_type --app-name $app_name --user-profile-name $user_profile_name fi done
  4. 删除测试用户个人资料。

    aws sagemaker delete-user-profile \ --region=$SM_REGION --domain-id=$TEST_DOMAIN \ --user-profile-name "test-network-user"
  5. 删除测试域。

    aws sagemaker delete-domain \ --region=$SM_REGION --domain-id=$TEST_DOMAIN

故障排除

管理员可以通过更新域名将 Studio Classic 恢复为现有域的默认体验。这可以通过 SageMaker 控制台或 Amazon CLI. 选择以下选项卡之一以查看相关说明。

当 Studio Classic 是该域的默认体验时,Studio Classic 是网域中所有用户的默认体验。但是,用户设置优先于域设置。因此,如果用户的默认体验设置为 Studio,则该用户将使用 Studio 作为其默认体验。

要使用 SageMaker 控制台将 Studio Classic 恢复为默认体验,请按照以下说明进行操作。

  1. 打开亚马逊 SageMaker 控制台,网址为 https://console.aws.amazon.com/sagemaker/

  2. 从左侧导航窗格中展开 “管理员配置”,然后选择 “”。

  3. 选择要恢复的现有域。

  4. 选择域名设置选项卡。

  5. 域名详情页面上,导航至恢复到 Studio Classic 体验部分。

  6. 恢复到 Studio 经典版体验部分中,选择恢复到 Studio Classic 流程。这将带您进入将域名恢复为 Studio Classic 页面。

  7. 在 “将域恢复为 Studio Classic” 页面上,完成以下任务并选中相应的复选框。在将现有域名的默认体验恢复为 Studio Classic 之前,请完成以下任务:

    1. 步骤 1-备份您的数据包含有关 Studio Classic 和 Studio 不同数据存储卷的信息。您的数据不会通过此过程自动迁移。有关迁移数据、生命周期配置和 JupyterLab扩展插件的说明,请参阅第 3 阶段:迁移数据

    2. Studio 中的全部删除 JupyterLab 和代码编辑器应用程序会提醒您删除 Studio 应用程序,以免产生额外费用。这不是必需的步骤,因为在将现有域还原为 Studio Classic 后,您可以删除应用程序和空间。我们建议您删除未使用的应用程序和空间,以免产生额外费用。

      有关如何从域中删除应用程序和空间的说明,请参阅删除或停止运行您的 Studio 的实例、应用程序和空间

    3. 第 3 步——确认您要将此域名恢复为 Studio Classic 要求您确认是否打算将现有域名的默认体验恢复为 Studio Classic。

    4. 提供反馈” 允许您就将现有域名恢复为 Studio Classic 的原因留下反馈的选项。

  8. 完成所有步骤并填写复选框后,“将域名恢复为 Studio Classic” 按钮变为可用。

  9. 完成页面上的任务并验证所做的更改后,选择将域名恢复为 Studio Classic 以还原现有域。

要使用恢复为 Studio Classic 作为现有域名的默认体验 Amazon CLI,请使用更新域调用。必须将设置DISABLED为参数的值StudioWebPortalapp:JupyterServer:作为default-user-settings参数一部分的值。DefaultLandingUri 

StudioWebPortal指示 Studio 体验是否为默认体验,并DefaultLandingUri指明用户在访问域名时被引导到的默认体验。在此示例中,在网域级别(在default-user-settings)上设置这些值会使 Studio Classic 成为网域内用户的默认体验。

如果域中的用户在用户级别(中UserSettings)将其DefaultLandingUristudio::设置为ENABLED和设置为,则其StudioWebPortal优先级高于域设置。换句话说,无论网域设置如何,该用户都将使用 Studio 作为其默认体验。

以下代码示例说明如何将 Studio Classic 设置为网域内用户的默认体验:

aws sagemaker update-domain \ --domain-id existing-domain-id \ --region Amazon Web Services 区域 \ --default-user-settings ' { "StudioWebPortal": "DISABLED", "DefaultLandingUri": "app:JupyterServer:" } '
  • 要获取您的existing-domain-id,请按照以下说明操作:

    要获得 existing-domain-id
    1. 打开亚马逊 SageMaker 控制台,网址为 https://console.aws.amazon.com/sagemaker/

    2. 在左侧导航窗格中,展开 “管理员配置”,然后选择 “”。

    3. 选择现有域。

    4. 域详细信息页面上,选择域设置选项卡。

    5. 复制域名

  • 要获取您的Amazon Web Services 区域,请按照以下说明确保您使用的域名正确无误 Amazon Web Services 区域 :

    要获得 Amazon Web Services 区域
    1. 打开亚马逊 SageMaker 控制台,网址为 https://console.aws.amazon.com/sagemaker/

    2. 在左侧导航窗格中,展开 “管理员配置”,然后选择 “”。

    3. 选择现有域。

    4. 域名详细信息页面上,确认这是否是现有域。

    5. 展开 SageMaker控制台右上角的 Amazon Web Services 区域 下拉列表,然后使用 Amazon Web Services 区域 名字右侧的相应 Amazon Web Services 区域 ID。例如,us-west-1