本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
将 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 应用程序的空间。请务必指定以下参数:
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 应用程序的空间。请务必指定以下参数:
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 应用程序,并且存储在该空间中的数据仍会保留。只有当您删除用户个人资料或直接删除空间时,存储在空间中的数据才会被删除。