

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

# Code Editor 生命周期配置
<a name="code-editor-use-lifecycle-configurations"></a>

您可以使用 Code Editor 生命周期配置来自动自定义您的 Studio 环境。这种自定义包括安装自定义软件包、配置扩展、预加载数据集和设置源存储库。

以下说明使用 Amazon Command Line Interface (Amazon CLI) 为`CodeEditor`应用程序类型创建、附加、调试和分离生命周期配置：
+ [在 Studio 中创建并附加生命周期配置](code-editor-use-lifecycle-configurations-studio-create.md)
+ [在 Studio 中调试生命周期配置](code-editor-use-lifecycle-configurations-studio-debug.md)
+ [分离生命周期配置](code-editor-use-lifecycle-configurations-studio-detach.md)

# 在 Studio 中创建并附加生命周期配置
<a name="code-editor-use-lifecycle-configurations-studio-create"></a>

以下部分提供了 Amazon CLI 用于创建生命周期配置、在创建新用户配置文件时附加生命周期配置以及在更新用户配置文件时附加生命周期配置的命令。有关在 Studio 中创建和附加生命周期配置的前提条件和一般步骤，请参阅 [生命周期配置创建](jl-lcc-create.md)。

使用 `create-studio-lifecycle-config` 命令创建 Studio 生命周期配置时，请务必指定 `studio-lifecycle-config-app-type` 为 `CodeEditor`。下面的示例显示了如何为 Code Editor 应用程序创建新的 Studio 生命周期配置。

```
aws sagemaker create-studio-lifecycle-config \
--studio-lifecycle-config-name my-code-editor-lcc \
--studio-lifecycle-config-content $LCC_CONTENT \
--studio-lifecycle-config-app-type CodeEditor
```

请记录为新创建的生命周期配置返回的 ARN。附加生命周期配置时，请在 `CodeEditorAppSettings` 的 `LifecycleConfigArns` 列表中提供此 ARN。

创建用户配置文件或域时，您可以附加生命周期配置。下面的示例说明如何创建一个附加生命周期配置的新用户配置文件。您也可以使用 [create-domain](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/opensearch/create-domain.html) 命令创建一个附加生命周期配置的新域。

```
# Create a new UserProfile
aws sagemaker create-user-profile \
--domain-id domain-id \
--user-profile-name user-profile-name \
--user-settings '{
"CodeEditorAppSettings": {
  "LifecycleConfigArns":
    [lifecycle-configuration-arn-list]
  }
}'
```

您也可以在更新用户配置文件或域时附加生命周期配置。下面的示例显示了如何更新附加生命周期配置的用户配置文件。您也可以使用 [update-domain](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/update-domain.html) 命令更新一个附加了生命周期配置的新域。

```
# Update a UserProfile
aws sagemaker update-user-profile \
--domain-id domain-id \
--user-profile-name user-profile-name \
--user-settings '{
"CodeEditorAppSettings": {
  "LifecycleConfigArns":
    [lifecycle-configuration-arn-list]
  }
}'
```

# 在 Studio 中调试生命周期配置
<a name="code-editor-use-lifecycle-configurations-studio-debug"></a>

要调试 Code Editor 的生命周期配置脚本，您必须使用 Studio。有关在 Studio 中调试生命周期配置的说明，请参阅 [调试生命周期配置](jl-lcc-debug.md)。要查找特定应用程序的日志，请使用以下格式搜索日志流：

```
domain-id/space-name/CodeEditor/default/LifecycleConfigOnStart
```

# 分离生命周期配置
<a name="code-editor-use-lifecycle-configurations-studio-detach"></a>

要分离 Code Editor 的生命周期配置，您可以使用管理控制台或 Amazon CLI。有关从 Studio 管理控制台分离生命周期配置的步骤，请参阅 [分离生命周期配置](jl-lcc-delete.md)。

要使用分离生命周期配置 Amazon CLI，请从附加到资源的生命周期配置列表中删除所需的生命周期配置。然后您将此列表作为相应命令的一部分传递：
+ [update-user-profile](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/update-user-profile.html)
+ [update-domain](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/update-domain.html)

例如，下面的命令会删除域中附加的 Code Editor 应用程序的所有生命周期配置。

```
aws sagemaker update-domain --domain-id domain-id \
--default-user-settings '{
"CodeEditorAppSettings": {
  "LifecycleConfigArns":
    []
  }
}'
```

# 创建生命周期配置，将软件源克隆到 Code Editor 应用程序中
<a name="code-editor-use-lifecycle-configurations-repositories"></a>

本节将介绍如何克隆一个存储库，并创建一个附加生命周期配置的 Code Editor 应用程序。

1. 在本地计算机上，创建一个名为 `my-script.sh` 的文件，内容如下：

   ```
   #!/bin/bash
   set -eux
   ```

1. 在生命周期配置脚本中选择克隆存储库。

   ```
   export REPOSITORY_URL="https://github.com/aws-samples/sagemaker-studio-lifecycle-config-examples.git"
   git -C /home/sagemaker-user clone $REPOSITORY_URL
   ```

1. 最终确定脚本后，创建并附加生命周期配置。有关更多信息，请参阅 [在 Studio 中创建并附加生命周期配置](code-editor-use-lifecycle-configurations-studio-create.md)。

1. 创建 Code Editor 应用程序，并附加生命周期配置。

   ```
   aws sagemaker create-app \
   --domain-id domain-id \
   --space-name space-name \
   --app-type CodeEditor \
   --app-name default \
   --resource-spec "SageMakerImageArn=arn:aws:sagemaker:region:image-account-id:image/sagemaker-distribution-cpu,LifecycleConfigArn=arn:aws:sagemaker:region:user-account-id:studio-lifecycle-config/my-code-editor-lcc,InstanceType=ml.t3.large"
   ```

   有关可用代码编辑器图像的更多信息 ARNs，请参见[代码编辑器应用程序实例和映像](code-editor-use-instances.md)。

# 创建生命周期配置以安装 Code Editor 扩展
<a name="code-editor-use-lifecycle-configurations-extensions"></a>

本节将介绍如何创建生命周期配置，以便在 Code Editor 环境中从 [Open VSX Registry](https://open-vsx.org/) 安装扩展。

1. 在本地计算机上，创建一个名为 `my-script.sh` 的文件，内容如下：

   ```
   #!/bin/bash
   set -eux
   ```

1. 在脚本中，安装 [Open VSX Registry](https://open-vsx.org/) 扩展：

   ```
   sagemaker-code-editor --install-extension AmazonEMR.emr-tools --extensions-dir /opt/amazon/sagemaker/sagemaker-code-editor-server-data/extensions
   ```

   您可以从 [Open VSX Registry](https://open-vsx.org/) 中扩展名的 URL 获取扩展名。在 `sagemaker-code-editor` 命令中使用的扩展名应包含 URL 中 `https://open-vsx.org/extension/` 后面的所有文本。将所有斜线 (`/`) 替换为句号 (`.`)。例如，`AmazonEMR/emr-tools` 应为 `AmazonEMR.emr-tools`。  
![\[Open VSX Registry 中的 Amazon EMR 扩展页面。\]](http://docs.amazonaws.cn/sagemaker/latest/dg/images/code-editor/code-editor-emr-extension.png)

1. 最终确定脚本后，创建并附加生命周期配置。有关更多信息，请参阅 [在 Studio 中创建并附加生命周期配置](code-editor-use-lifecycle-configurations-studio-create.md)。

1. 创建 Code Editor 应用程序，并附加生命周期配置：

   ```
   aws sagemaker create-app \
   --domain-id domain-id \
   --space-name space-name \
   --app-type CodeEditor \
   --app-name default \
   --resource-spec "SageMakerImageArn=arn:aws:sagemaker:region:image-account-id:image/sagemaker-distribution-cpu,LifecycleConfigArn=arn:aws:sagemaker:region:user-account-id:studio-lifecycle-config/my-code-editor-lcc,InstanceType=ml.t3.large"
   ```

   有关可用代码编辑器图像的更多信息 ARNs，请参见[代码编辑器应用程序实例和映像](code-editor-use-instances.md)。有关连接和扩展的更多信息，请参阅 [Code Editor 连接和扩展](code-editor-use-connections-and-extensions.md)。