将 SageMaker Canvas 应用程序数据存储在您自己的 SageMaker空间中 - Amazon SageMaker

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

将 SageMaker Canvas 应用程序数据存储在您自己的 SageMaker空间中

您的 Amazon SageMaker Canvas 应用程序数据,例如您导入的数据集和模型构件,存储在 Amazon SageMaker Studio 的私有空间中。该空间由用于存储应用程序数据的存储卷(每个用户配置文件有 100 GB 的存储空间)、空间类型(在本例中为 Canvas 应用程序)以及应用程序容器的映像组成。当你设置 Canvas 并首次启动应用程序时, SageMaker 会创建一个分配给你的用户个人资料的默认私有空间并存储你的 Canvas 数据。您无需进行任何其他配置即可设置空间,因为 SageMaker 系统会自动代表您创建空间。但是,如果您不想使用默认空间,则可以选择指定自己创建的空间。如果您想隔离数据,这可能很有用。下一页向您展示如何创建和配置自己的 Studio 空间来存储 Canvas 应用程序数据。

注意

您只能为新的 Canvas 应用程序配置自定义 Studio 空间。您无法修改现有 Canvas 应用程序的空间配置。

开始前的准备工作

您的亚马逊 SageMaker 域名或用户资料必须至少有 100 GB 的存储空间才能创建和使用 SageMaker Canvas 应用程序。

如果您是通过 SageMaker 控制台创建域名的,则默认情况下会配置足够的存储空间,您无需采取任何其他操作。如果您使用或创建了域名或用户个人资料 CreateUserProfileAPIs,请确保将该MaximumEbsVolumeSizeInGb值设置为 100 GB 或更大。CreateDomain要设置更大的存储值,您可以创建新的域名或用户配置文件,也可以使用或更新现有的域名或用户配置文件 UpdateUserProfileAPIs。UpdateDomain

创建新空间

首先,创建一个配置为存储 Canvas 应用程序数据的新 Studio 空间。这是您在下一步中创建新的 Canvas 应用程序时指定的空间。

要创建空间,您可以使用 AWS SDK for Python (Boto3) 或 AWS CLI。

SDK for Python (Boto3)

以下示例向您展示如何使用该 AWS SDK for Python (Boto3) create_space方法创建可用于 Canvas 应用程序的空间。请务必指定以下参数:

  • DomainId:为您的 SageMaker 域名指定 ID。要查找您的 ID,您可以前往 SageMaker 控制台,https://console.aws.amazon.com/sagemaker/然后在 “域名” 部分找到您的域名

  • SpaceName:为新空间指定名称。

  • EbsVolumeSizeinGb:为您的空间指定存储卷大小(以 GB 为单位)。最小值为5,最大值为16384

  • SharingType:将此字段指定为Private。有关更多信息,请参阅 亚马逊 SageMaker Studio 空间

  • OwnerUserProfileName:指定用户配置文件名称。要查找与域名关联的用户个人资料名称,您可以前往 SageMaker 控制台,https://console.aws.amazon.com/sagemaker/然后在 “域名” 部分找到您的域名。在网域的设置中,您可以查看用户个人资料。

  • AppType:将此字段指定为Canvas

response = client.create_space( DomainId='<your-domain-id>', SpaceName='<your-new-space-name>', SpaceSettings={ 'AppType': 'Canvas', 'SpaceStorageSettings': { 'EbsStorageSettings': { 'EbsVolumeSizeInGb': <storage-volume-size> } }, }, OwnershipSettings={ 'OwnerUserProfileName': '<your-user-profile>' }, SpaceSharingSettings={ 'SharingType': 'Private' } )
AWS CLI

以下示例向您展示如何使用该 AWS CLI create-space方法创建可用于 Canvas 应用程序的空间。请务必指定以下参数:

  • domain-id:为您的域名指定 ID。要查找您的 ID,您可以前往 SageMaker 控制台,https://console.aws.amazon.com/sagemaker/然后在 “域名” 部分找到您的域名

  • space-name:为新空间指定名称。

  • EbsVolumeSizeinGb:为您的空间指定存储卷大小(以 GB 为单位)。最小值为5,最大值为16384

  • SharingType:将此字段指定为Private。有关更多信息,请参阅 亚马逊 SageMaker Studio 空间

  • OwnerUserProfileName:指定用户配置文件名称。要查找与域名关联的用户个人资料名称,您可以前往 SageMaker 控制台,https://console.aws.amazon.com/sagemaker/然后在 “域名” 部分找到您的域名。在网域的设置中,您可以查看用户个人资料。

  • AppType:将此字段指定为Canvas

create-space --domain-id <your-domain-id> --space-name <your-new-space-name> --space-settings '{ "AppType": "Canvas", "SpaceStorageSettings": { "EbsStorageSettings": {"EbsVolumeSizeInGb": <storage-volume-size>} }, }' --ownership-settings '{"OwnerUserProfileName": "<your-user-profile>"}' --space-sharing-settings '{"SharingType": "Private"}'

你现在应该有空间了。记录空间的名称,以备下一步之用。

创建新的 Canvas 应用程序

创建空间后,创建一个新的 Canvas 应用程序,将该空间指定为其存储位置。

要创建新的 Canvas 应用程序,您可以使用 AWS SDK for Python (Boto3) 或 AWS CLI。

重要

必须使用 AWS SDK for Python (Boto3) 或 AWS CLI 来创建 Canvas 应用程序。不支持在通过 SageMaker 控制台创建 Canvas 应用程序时指定自定义空间。

SDK for Python (Boto3)

以下示例向您展示如何使用该 AWS SDK for Python (Boto3) create_app方法创建新的 Canvas 应用程序。请务必指定以下参数:

  • DomainId:为您的 SageMaker 域名指定 ID。

  • SpaceName:指定您在上一步中创建的空间的名称。

  • AppType:将此字段指定为Canvas

  • AppName:指定default为应用程序名称。

response = client.create_app( DomainId='<your-domain-id>', SpaceName='<your-space-name>', AppType='Canvas', AppName='default' )
AWS CLI

以下示例向您展示如何使用该 AWS CLI create-app方法创建新的 Canvas 应用程序。请务必指定以下参数:

  • DomainId:为您的 SageMaker 域名指定 ID。

  • SpaceName:指定您在上一步中创建的空间的名称。

  • AppType:将此字段指定为Canvas

  • AppName:指定default为应用程序名称。

create-app --domain-id <your-domain-id> --space-name <your-space-name> --app-type Canvas --app-name default

现在,您应该有一个新的 Canvas 应用程序,该应用程序使用自定义 Studio 空间作为应用程序数据的存储位置。

重要

每当你删除 Canvas 应用程序(或注销)并必须重新创建该应用程序时,都必须在SpaceName现场提供空间,以确保 Canvas 使用您的空间。

该空间将附加到您在空间配置中指定的用户配置文件中。您可以在不删除空间的情况下删除 Canvas 应用程序,并且存储在该空间中的数据仍会保留。只有当您删除用户个人资料或直接删除空间时,存储在空间中的数据才会被删除。