

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

# 使用 Code Editor
<a name="code-editor-use"></a>

本节中的主题提供了使用代码编辑器的指南，包括如何启动 AWS 服务、添加连接、关闭资源等。创建 Code Editor 空间后，您可以直接通过浏览器访问 Code Editor 会话。

在 Code Editor 环境中，您可以执行以下操作：
+ 访问保存在主目录中的所有构件
+ 克隆您的 GitHub 仓库并提交更改
+ 访问 SageMaker Python软件开发工具包

您可以返回 Studio 查看在 Code Editor 环境中创建的任何资产，如实验、管道或训练作业。

**Topics**
+ [检查 Code Editor 的版本](code-editor-use-version.md)
+ [代码编辑器应用程序实例和映像](code-editor-use-instances.md)
+ [在 Studio 中启动代码编辑器应用程序](code-editor-use-studio.md)
+ [使用启动代码编辑器应用程序 AWS CLI](code-editor-launch-cli.md)
+ [在 Code Editor 中克隆存储库](code-editor-use-clone-a-repository.md)
+ [Code Editor 连接和扩展](code-editor-use-connections-and-extensions.md)
+ [关闭 Code Editor 资源](code-editor-use-log-out.md)

# 检查 Code Editor 的版本
<a name="code-editor-use-version"></a>

以下步骤说明了如何检查 Code Editor 应用程序的版本。

**检查 Code Editor 应用程序版本**

1. 启动并运行 Code Editor 空间，并导航至 Code Editor 应用程序用户界面。有关更多信息，请参阅 [在 Studio 中启动代码编辑器应用程序](code-editor-use-studio.md)。

1. 在 Code Editor 用户界面的左上角，选择菜单按钮 (![\[Hamburger menu icon with three horizontal lines.\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/code-editor/code-editor-menu-icon.png))。然后，选择**帮助**。然后，选择**关于**。

# 代码编辑器应用程序实例和映像
<a name="code-editor-use-instances"></a>

只有部分实例与 Code Editor 应用程序兼容。您可以从**实例**下拉菜单中选择与您的使用场景相匹配的实例类型。

**快速启动**实例的启动速度比其他实例快得多。有关 Studio 中快速启动实例类型的更多信息，请参阅 [可用于 Amazon SageMaker Studio 经典笔记本的实例类型](notebooks-available-instance-types.md)。

**注意**  
如果您在配置 Code Editor 应用程序时使用 GPU 实例类型，则还必须使用基于 GPU 的映像。选择实例类型时，Code Editor 空间用户界面会自动选择兼容的映像。

在空间内，您的数据存储在 Amazon EBS 卷中，该卷独立于实例的生命周期而存在。您在更换实例时不会丢失数据。如果 Code Editor 空间为 `Running`，则必须在更改实例类型前停止空间。

下表列出了 ARNs 每个区域可用的代码编辑器 CPU 和 GPU 镜像。


|  Region  |  CPU  |  GPU  | 
| --- | --- | --- | 
|  us-east-1  | arn:aws:sagemaker:us-east-1:885854791233:image/sagemaker-distribution-cpu |  arn:aws:sagemaker:us-east-1:885854791233:image/sagemaker-distribution-gpu | 
|  us-east-2  | arn:aws:sagemaker:us-east-2:37914896644:image/sagemaker-distribution-cpu | arn:aws:sagemaker:us-east-2:37914896644:image/sagemaker-distribution-gpu | 
|  us-west-1  | arn:aws:sagemaker:us-west-1:053634841547:image/sagemaker-distribution-cpu | arn:aws:sagemaker:us-west-1:053634841547:image/sagemaker-distribution-gpu | 
|  us-west-2  | arn:aws:sagemaker:us-west-2:542918446943:image/sagemaker-distribution-cpu |  arn:aws:sagemaker:us-west-2:542918446943:image/sagemaker-distribution-gpu | 
|  af-south-1  | arn:aws:sagemaker:af-south-1:238384257742:image/sagemaker-distribution-cpu | arn:aws:sagemaker:af-south-1:238384257742:image/sagemaker-distribution-gpu | 
|  ap-east-1  | arn:aws:sagemaker:ap-east-1:523751269255:image/sagemaker-distribution-cpu | arn:aws:sagemaker:ap-east-1:523751269255:image/sagemaker-distribution-gpu | 
|  ap-south-1  | arn:aws:sagemaker:ap-south-1:245090515133:image/sagemaker-distribution-cpu | arn:aws:sagemaker:ap-south-1:245090515133:image/sagemaker-distribution-gpu | 
|  ap-northeast-2  | arn:aws:sagemaker:ap-northeast-2:064688005998:image/sagemaker-distribution-cpu | arn:aws:sagemaker:ap-northeast-2:064688005998:image/sagemaker-distribution-gpu | 
|  ap-southeast-1  | arn:aws:sagemaker:ap-southeast-1:022667117163:image/sagemaker-distribution-cpu | arn:aws:sagemaker:ap-southeast-1:022667117163:image/sagemaker-distribution-gpu | 
|  ap-southeast-2  | arn:aws:sagemaker:ap-southeast-2:648430277019:image/sagemaker-distribution-cpu | arn:aws:sagemaker:ap-southeast-2:648430277019:image/sagemaker-distribution-gpu | 
|  ap-northeast-1  | arn:aws:sagemaker:ap-northeast-1:010972774902:image/sagemaker-distribution-cpu | arn:aws:sagemaker:ap-northeast-1:010972774902:image/sagemaker-distribution-gpu | 
|  ca-central-1  | arn:aws:sagemaker:ca-central-1:481561238223:image/sagemaker-distribution-cpu | arn:aws:sagemaker:ca-central-1:481561238223:image/sagemaker-distribution-gpu | 
|  eu-central-1  | arn:aws:sagemaker:eu-central-1:545423591354:image/sagemaker-distribution-cpu | arn:aws:sagemaker:eu-central-1:545423591354:image/sagemaker-distribution-gpu | 
|  eu-west-1  | arn:aws:sagemaker:eu-west-1:819792524951:image/sagemaker-distribution-cpu | arn:aws:sagemaker:eu-west-1:819792524951:image/sagemaker-distribution-gpu | 
|  eu-west-2  | arn:aws:sagemaker:eu-west-2:021081402939:image/sagemaker-distribution-cpu | arn:aws:sagemaker:eu-west-2:021081402939:image/sagemaker-distribution-gpu | 
|  eu-west-3  | arn:aws:sagemaker:eu-west-3:856416204555:image/sagemaker-distribution-cpu | arn:aws:sagemaker:eu-west-3:856416204555:image/sagemaker-distribution-gpu | 
|  eu-north-1  | arn:aws:sagemaker:eu-north-1:175620155138:image/sagemaker-distribution-cpu | arn:aws:sagemaker:eu-north-1:175620155138:image/sagemaker-distribution-gpu | 
|  eu-south-1  | arn:aws:sagemaker:eu-south-1:810671768855:image/sagemaker-distribution-cpu | arn:aws:sagemaker:eu-south-1:810671768855:image/sagemaker-distribution-gpu | 
|  sa-east-1  | arn:aws:sagemaker:sa-east-1:567556641782:image/sagemaker-distribution-cpu | arn:aws:sagemaker:sa-east-1:567556641782:image/sagemaker-distribution-gpu | 
|  ap-northeast-3  | arn:aws:sagemaker:ap-northeast-3:564864627153:image/sagemaker-distribution-cpu | arn:aws:sagemaker:ap-northeast-3:564864627153:image/sagemaker-distribution-gpu | 
|  ap-southeast-3  | arn:aws:sagemaker:ap-southeast-3:370607712162:image/sagemaker-distribution-cpu | arn:aws:sagemaker:ap-southeast-3:370607712162:image/sagemaker-distribution-gpu | 
|  me-south-1  | arn:aws:sagemaker:me-south-1:523774347010:image/sagemaker-distribution-cpu | arn:aws:sagemaker:me-south-1:523774347010:image/sagemaker-distribution-gpu | 
|  me-central-1  | arn:aws:sagemaker:me-central-1:358593528301:image/sagemaker-distribution-cpu | arn:aws:sagemaker:me-central-1:358593528301:image/sagemaker-distribution-gpu | 
|  il-central-1  | arn:aws:sagemaker:il-central-1:080319125002:image/sagemaker-distribution-cpu | arn:aws:sagemaker:il-central-1:080319125002:image/sagemaker-distribution-gpu | 
|  cn-north-1  | arn:aws:sagemaker:cn-north-1:674439102856:image/sagemaker-distribution-cpu |  arn:aws:sagemaker:cn-north-1:674439102856:image/sagemaker-distribution-gpu  | 
|  cn-northwest-1  | arn:aws:sagemaker:cn-northwest-1:651871951035:image/sagemaker-distribution-cpu |  arn:aws:sagemaker:cn-northwest-1:651871951035:image/sagemaker-distribution-gpu  | 
|  us-gov-west-1  | arn:aws:sagemaker:us-gov-west-1:300992924816:image/sagemaker-distribution-cpu | arn:aws:sagemaker:us-gov-west-1:300992924816:image/sagemaker-distribution-gpu | 
|  us-gov-east-1  | arn:aws:sagemaker:us-gov-east-1:300993876623:image/sagemaker-distribution-cpu | arn:aws:sagemaker:us-gov-east-1:300993876623:image/sagemaker-distribution-gpu | 

如果遇到实例限制，请联系管理员。要为用户获得更多存储空间和计算能力，管理员可以请求增加用户的 AWS 配额。有关申请增加配额的更多信息，请参阅 [Amazon A SageMaker I 终端节点和配额](https://docs.aws.amazon.com/general/latest/gr/sagemaker.html)。

# 在 Studio 中启动代码编辑器应用程序
<a name="code-editor-use-studio"></a>

要通过 Studio 配置和访问 Code Editor 集成开发环境，您必须创建 Code Editor 空间。有关 Studio 中空间的更多信息，请参阅 [亚马逊 SageMaker Studio 空间](studio-updated-spaces.md)。

![\[Studio 用户界面中的 Code Editor 应用程序按钮和概览图块。\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/code-editor/code-editor-studio-home.png)


以下步骤说明了如何创建和运行 Code Editor 空间。

**创建并运行 Code Editor 空间**

1. 启动更新后的 Studio 体验。有关更多信息，请参阅[启动 Amazon SageMaker Studio](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-updated-launch.html)。

1. 请执行以下操作之一：
   + 在更新后的 Amazon SageMaker Studio 用户界面中，从 “**应用程序**” 菜单中选择 “**代码编辑器**”。
   + 在更新后的 Amazon SageMaker Studio 用户界面中，在 Studio 主页的**概述**部分选择**查看代码编辑器空间**。

1. 在 Code Editor 登录页面的右上角，选择**创建 Code Editor 空间**。

1. 输入 Code Editor 空间的名称。名称长度必须为 1-62 个字符，只能使用字母、数字和破折号。

1. 选择**创建空间**。

1. 创建空间后，在选择运行空间之前有一些选项：
   + 您可以编辑**存储（GB）**、**生命周期配置**或**附加自定义 EFS 文件系统**设置。这些设置的选项可根据管理员的指定进行选择。
   + 从**实例**下拉菜单中，您可以选择与您的使用场景最匹配的实例类型。从 “**图像**” 下拉菜单中，您可以选择管理员提供的 SageMaker 分发映像或自定义映像。
**注意**  
在不同的 sagemaker-distribution 映像之间切换，会改变所使用的代码编辑器的底层版本，这可能会因浏览器缓存而导致不兼容问题。在不同的映像之间切换时，您应清除浏览器缓存。

     如果您在配置代码编辑器应用程序时使用 GPU 实例类型，则还必须使用基于 GPU 的映像。在空间内，您的数据存储在 Amazon EBS 卷中，该卷独立于实例的生命周期而存在。您在更换实例时不会丢失数据。
**重要**  
允许 Studio 用户创建空间的自定义 IAM 策略还必须授予列出映像 (`sagemaker: ListImage`) 的权限，以便查看自定义映像。要添加权限，请参阅《AWS Identity and Access Management用户指南》**中的[添加或移除身份权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html)。  
[AWS 亚马逊 A SageMaker I 的托管策略](security-iam-awsmanpol.md)授予创建 SageMaker AI 资源的权限已经包括在创建这些资源时列出图像的权限。
**注意**  
要更新空间设置，您必须先停止空间。如果您的代码编辑器使用带有 NVMe 实例存储的实例，则当空间停止时， NVMe 存储在存储中的所有数据都将被删除。

1. 更新设置后，在空间详情页面选择**运行空间**。

1. 空间状态为 `Running` 后，选择 **打开 Code Editor** 进入 Code Editor 会话。

![\[Studio 用户界面中 Code Editor 应用程序的空间详情页面。\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/code-editor/code-editor-open.png)


# 使用启动代码编辑器应用程序 AWS CLI
<a name="code-editor-launch-cli"></a>

要通过 AWS Command Line Interface (AWS CLI) 配置和访问 Code Editor 集成开发环境，您必须创建 Code Editor 空间。在完成以下步骤之前，请务必满足 [满足先决条件](code-editor-admin-prerequisites.md)。按照以下步骤创建并运行 Code Editor 空间。

**创建并运行 Code Editor 空间**

1. 使用 AWS Identity and Access Management (IAM) 或 AWS IAM Identity Center 身份验证访问空间。有关使用访问空间的更多信息 AWS CLI，请参阅*使用 AWS Command Line Interface中的访问空间*[亚马逊 SageMaker Studio 空间](studio-updated-spaces.md)。

1. 创建应用程序，并使用以下命令指定 `CodeEditor` 为 `app-type`。

   如果您在创建 Code Editor 应用程序时使用 GPU 实例类型，则还必须使用基于 GPU 的映像。

   ```
   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:account-id:image/sagemaker-distribution-cpu"
   ```

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

1. Code Editor 应用程序启动后，使用预先指定的 URL 启动应用程序。您可以使用 `describe-app` API 来检查应用程序是否处于服务中。使用 `create-presigned-domain-url` API 创建预指定的 URL：

   ```
   aws sagemaker create-presigned-domain-url \
   --domain-id domain-id \
   --space-name space-name \
   --user-profile-name user-profile-name \
   --session-expiration-duration-in-seconds 43200 \
   --landing-uri app:CodeEditor:
   ```

1. 打开生成的 URL，开始在 Code Editor 应用程序中工作。

# 在 Code Editor 中克隆存储库
<a name="code-editor-use-clone-a-repository"></a>

您可以在 Code Editor 应用程序用户界面的 **Explorer（资源管理器）**窗口中浏览文件夹并克隆存储库。

要克隆存储库，请执行以下步骤：

**克隆存储库**

1. 在浏览器中打开 Code Editor 应用程序，然后在左侧导航窗格中选择 **Exploration（浏览）**按钮 (![\[Icon representing multiple documents or pages stacked on top of each other.\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/code-editor/code-editor-exploration-icon.png))。

1. 在 **Explorer（资源管理器）**窗口中选择**克隆存储库**。然后，在提示中提供一个存储库 URL 或选择一个存储库源。

1. 选择一个文件夹来克隆您的存储库。请注意，默认的 Code Editor 文件夹是 `/home/sagemaker-user/`。克隆存储库可能需要一些时间。

1. 要打开克隆的存储库，请选择**在新窗口中打开**或**打开**。

1.  要返回 Code Editor 应用程序用户界面主页，请选择**取消**。

1. 在存储库中，会有提示询问您是否信任新存储库中文件的作者。您有两个选择：

   1. 要信任文件夹并启用所有功能，请选择**是，我信任作者**。

   1. 要以*限制模式*浏览存储库内容，请选择**否，我不信任作者**。

      在受限模式下，任务不允许运行，调试被禁用，工作区设置不应用，扩展功能有限。

      要退出受限模式、信任当前文件夹或其父文件夹中所有文件的作者并启用所有功能，请在**受限模式**横幅中选择**管理**。

# Code Editor 连接和扩展
<a name="code-editor-use-connections-and-extensions"></a>

代码编辑器支持 IDE 连接 AWS 服务 以及 O [pen VSX 注册表](https://open-vsx.org/)中提供的扩展。

## 连接到 AWS
<a name="code-editor-use-connections"></a>

Code Editor 环境与 [AWS Toolkit for VS Code](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/welcome.html) 集成，以添加与 AWS 服务的连接。要开始连接到 AWS 服务，您必须拥有有效的 AWS Identity and Access Management (IAM) 证书。有关更多信息，请参阅 [Visual Studio 代码 AWS 工具包的身份验证和访问权限](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/establish-credentials.html)。

在 Code Editor 环境中，您可以将连接添加到：
+  [AWS 资源管理器](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/aws-explorer.html)-查看、修改和部署 Amazon S3 中的 AWS 资源等。 CloudWatch

  访问 AWS 资源管理器中的某些功能需要一定的 AWS 权限。有关更多信息，请参阅 [Visual Studio 代码 AWS 工具包的身份验证和访问权限](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/establish-credentials.html)。
+ [Amazon CodeWhisperer](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/codewhisperer.html)：利用人工智能驱动的代码建议，更快地构建应用程序。

  要 Amazon CodeWhisperer 与代码编辑器一起使用，必须向 SageMaker AI 执行角色添加以下权限。

------
#### [ JSON ]

****  

  ```
  {
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Sid": "CodeWhispererPermissions",
        "Effect": "Allow",
        "Action": ["codewhisperer:GenerateRecommendations"],
        "Resource": "*"
      }
    ]
  }
  ```

------

  有关更多信息，请参阅《IAM 用户指南》**中的[创建 IAM 策略](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html)及[添加和删除 IAM 身份权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html)。

## 扩展程序
<a name="code-editor-use-extensions"></a>

Code Editor 支持 [Open VSX Registry](https://open-vsx.org/) 中的 IDE 扩展。

要在 Code Editor 环境中开始使用扩展程序，请选择左侧导航窗格中的**扩展**图标 (![\[Icon showing two overlapping squares representing multiple windows or instances.\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/code-editor/code-editor-extensions-icon.png))。在此，您可以通过安装 AWS Toolkit配置与 AWS 的连接。有关更多信息，请参阅[安装 AWS Toolkit for Visual Studio Code](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/setup-toolkit.html)。

在搜索栏中，您可以通过 [Open VSX Registry](https://open-vsx.org/) 直接搜索其他扩展，如 AWS Toolkit、Jupyter、Python 等。

# 关闭 Code Editor 资源
<a name="code-editor-use-log-out"></a>

使用完 Code Editor 空间后，您可以使用 Studio 停止该空间。这样，您就不再为空间承担费用了。

您也可以使用 AWS CLI删除未使用的 Code Editor 资源。

## 使用 Studio 停止 Code Editor 空间
<a name="code-editor-use-log-out-stop-space"></a>

要停止 Studio 中的 Code Editor 空间，请使用以下步骤：

**在 Studio 中停止 Code Editor 空间**

1. 执行以下操作之一，返回 Code Editor 登录页面：

   1. 在左上角的导航栏中，选择 **Code Editor**。

   1. 或者，在左侧导航窗格中，选择**应用程序**菜单中的 **Code Editor**。

1. 查找您创建的 Code Editor 空间的名称。如果空间状态为**运行**，请在**操作**列中选择**停止**。您也可以直接在空间详情页面选择**停止空间**。空间可能需要一段时间才能停止。

![\[代码编辑器应用程序用户界面中的空间详情页。\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/code-editor/code-editor-stop-space.png)


当您的空间实例关闭时，从 Studio 创建的其他资源，例如 SageMaker 人工智能终端节点、亚马逊 EMR (Amazon EMR) 集群和亚马逊简单存储服务 (Amazon S3) Service 存储桶，不会自动删除。要停止累积资源费用，请删除任何其他资源。有关更多信息，请参阅[删除未使用的资源](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-updated-jl-admin-guide-clean-up.html)。

## 使用删除代码编辑器资源 AWS CLI
<a name="code-editor-use-log-out-shut-down-resources"></a>

您可以使用 AWS Command Line Interface (AWS CLI) 删除您的代码编辑器应用程序和空间。
+ [DeleteApp](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteApp.html)
+ [DeleteSpace](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteSpace.html)