

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

# 将 SageMaker Canvas 应用程序数据存储在你自己的 SageMaker AI 空间中
<a name="canvas-spaces-setup"></a>

您的 Amazon SageMaker Canvas 应用程序数据，例如您导入的数据集和模型构件，存储在 *Amazon SageMaker Studio 的私有空间*中。此空间包括应用程序数据的存储卷（每个用户配置文件 100 GB 的存储空间）、空间类型（在本例中为 Canvas 应用程序）和应用程序容器的映像。当你设置 Canvas 并首次启动应用程序时， SageMaker AI 会创建一个默认的私有空间，分配给你的用户个人资料并存储你的 Canvas 数据。您无需进行任何其他配置即可设置空间，因为 SageMaker AI 会自动代表您创建空间。但是，如果您不想使用默认空间，则可以选择指定自己创建的空间。如果您想隔离数据，这将非常有用。下一页将向您介绍如何创建和配置自己的 Studio 空间，用于存储 Canvas 应用程序数据。

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

## 开始前的准备工作
<a name="canvas-spaces-setup-prereqs"></a>

要创建和使用 C SageMaker anvas 应用程序，您的 SageMaker Amazon AI 域或用户个人资料必须至少有 100 GB 的存储空间。

如果您通过 SageMaker AI 控制台创建了域，则默认情况下会配置足够的存储空间，您无需采取任何其他操作。如果您使用或创建了域名或用户个人资料 [ CreateUserProfile](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateUserProfile.html) APIs，请确保将该`MaximumEbsVolumeSizeInGb`值设置为 100 GB 或更大。[CreateDomain](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateDomain.html)要设置更大的存储值，您可以创建新的域名或用户配置文件，也可以使用或更新现有的域名或用户配置文件[ UpdateUserProfile](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateUserProfile.html) APIs。[UpdateDomain](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateDomain.html)

## 创建新空间
<a name="canvas-spaces-setup-new-space"></a>

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

要创建空间，您可以使用 适用于 Python (Boto3) 的 AWS SDK 或 AWS CLI。

------
#### [ SDK for Python (Boto3) ]

以下示例向您展示如何使用该 适用于 Python (Boto3) 的 AWS SDK `create_space`方法创建可用于 Canvas 应用程序的空间。确保指定以下参数：
+ `DomainId`：为您的 SageMaker AI 域指定 ID。要查找您的 ID，您可以前往 SageMaker AI 控制台，[https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)然后在 “域名” 部分找到您的**域名**。
+ `SpaceName`：指定新空间的名称。
+ `EbsVolumeSizeinGb`：指定空间的存储卷大小（单位：GB）。最小值为 `5`，最大值为 `16384`。
+ `SharingType`：将此字段指定为 `Private`。有关更多信息，请参阅 [亚马逊 SageMaker Studio 空间](studio-updated-spaces.md)。
+ `OwnerUserProfileName`：指定用户配置文件名称。要查找与域名关联的用户个人资料名称，您可以前往 SageMaker AI 控制台，[https://console.aws.amazon.com/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 AI 控制台，[https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)然后在 “域名” 部分找到您的**域名**。
+ `space-name`：指定新空间的名称。
+ `EbsVolumeSizeinGb`：指定空间的存储卷大小（单位：GB）。最小值为 `5`，最大值为 `16384`。
+ `SharingType`：将此字段指定为 `Private`。有关更多信息，请参阅 [亚马逊 SageMaker Studio 空间](studio-updated-spaces.md)。
+ `OwnerUserProfileName`：指定用户配置文件名称。要查找与域名关联的用户个人资料名称，您可以前往 SageMaker AI 控制台，[https://console.aws.amazon.com/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 应用程序。
<a name="canvas-spaces-setup-new-app"></a>

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

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

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

------
#### [ SDK for Python (Boto3) ]

以下示例向您展示如何使用该 适用于 Python (Boto3) 的 AWS SDK `create_app`方法创建新的 Canvas 应用程序。确保指定以下参数：
+ `DomainId`：为您的 SageMaker AI 域指定 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 AI 域指定 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 应用程序，存储在空间中的数据仍会保留。只有当您删除用户配置文件或直接删除空间时，存储在空间中的数据才会删除。