

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

# 约束和注意事项
<a name="notebook-auto-run-constraints"></a>

请查看以下约束，确保您的笔记本作业成功完成。Studio 使用 Papermill 来运行笔记本。您可能需要更新 Jupyter 笔记本以符合 Papermill 的要求。LCC 脚本内容以及需要了解的有关 VPC 配置的重要细节也存在限制。

## JupyterLab 版本
<a name="notebook-auto-run-constraints-jpt"></a>

JupyterLab 支持 4.0 版。

## 安装需要重启内核的软件包
<a name="notebook-auto-run-constraints-pmill-pkg"></a>

Papermill 不支持调用 `pip install` 来安装需要重启内核的软件包。在这种情况下，请在初始化脚本中使用 `pip install`。对于不需要重启内核的软件包安装，您仍可在笔记本中包含 `pip install`。

## 在 Jupyter 中注册的内核和语言名称
<a name="notebook-auto-run-constraints-pmill-names"></a>

Papermill 为特定内核和语言注册了一个转换器。如果您自带实例 (BYOI)，请使用标准内核名称，如以下代码片段所示：

```
papermill_translators.register("python", PythonTranslator)
papermill_translators.register("R", RTranslator)
papermill_translators.register("scala", ScalaTranslator)
papermill_translators.register("julia", JuliaTranslator)
papermill_translators.register("matlab", MatlabTranslator)
papermill_translators.register(".net-csharp", CSharpTranslator)
papermill_translators.register(".net-fsharp", FSharpTranslator)
papermill_translators.register(".net-powershell", PowershellTranslator)
papermill_translators.register("pysparkkernel", PythonTranslator)
papermill_translators.register("sparkkernel", ScalaTranslator)
papermill_translators.register("sparkrkernel", RTranslator)
papermill_translators.register("bash", BashTranslator)
```

## 参数和环境变量限制
<a name="notebook-auto-run-constraints-var-limits"></a>

**参数和环境变量限制。**当您创建笔记本作业时，它会收到您指定的参数和环境变量。最多可以传递 100 个参数。每个参数名称的长度最多为 256 个字符，关联值的长度最多为 2500 个字符。如果传递环境变量，则最多可以传递 28 个变量。变量名称和关联值长度最多为 512 个字符。如果需要超过 28 个环境变量，请在初始化脚本中使用其他环境变量，该脚本对于可以使用的环境变量数量没有限制。

## 查看作业和作业定义
<a name="notebook-auto-run-constraints-view-job"></a>

**查看作业和作业定义。**如果您在笔记本的 Studio 用户界面中安排 JupyterLab 笔记本作业，则可以在 Studio 用户界面中[查看笔记本作业](https://docs.aws.amazon.com/sagemaker/latest/dg/view-notebook-jobs.html)[和笔记本作业定义](https://docs.aws.amazon.com/sagemaker/latest/dg/view-def-detail-notebook-auto-run.html)。如果您使用 SageMaker Python SDK 安排了笔记本作业，则只能查看作业， SageMaker Python SDK 笔记本作业步骤不会创建作业定义。要查看作业，还需要为笔记本作业步骤实例提供附加标记。有关更多信息，请参阅 [在 Studio UI 面板上查看笔记本作业](create-notebook-auto-run-sdk.md#create-notebook-auto-run-dash)。

## Image
<a name="notebook-auto-run-constraints-image"></a>

您需要根据在 Studio 中运行笔记本作业还是在管道中运行 SageMaker Python SDK 笔记本作业步骤来管理图像限制。

### SageMaker AI 笔记本作业（Studio）的图像限制
<a name="notebook-auto-run-constraints-image-studio"></a>

**映像和内核支持。**启动笔记本作业的驱动程序假设以下条件：
+ 基本 Python 运行时环境安装在 Studio 或 bring-your-own (BYO) 映像中，并且是外壳中的默认运行环境。
+ 基本 Python 运行时环境包含正确配置了内核规格的 Jupyter 客户端。
+ 基本 Python 运行时环境包含 `pip` 函数，因此笔记本作业可以安装系统依赖项。
+ 对于具有多个环境的映像，在安装笔记本专用软件包之前，您的初始化脚本应切换到适当的内核专用环境。配置完内核 Python 运行时环境后，如果与内核运行时环境不同，应切换回默认 Python 运行时环境。

启动笔记本作业的驱动程序是一个 bash 脚本，Bash v4 必须位于 /bin/bash 下。

**已启用 bring-your-own-images (BYOI) 的 root 权限。**您必须对自己的 Studio 映像拥有根权限，无论作为根用户还是通过 `sudo` 访问。如果您不是根用户，但通过 `sudo` 访问根权限，请使用 **1000/100** 作为 `UID/GID`。

### SageMaker AI Python SDK 笔记本作业的图像限制
<a name="notebook-auto-run-constraints-image-sdk"></a>

笔记本作业步骤支持以下映像：
+ SageMaker 中列出的分发映像[亚马逊 SageMaker 图片可用于 Studio Classic 笔记本电脑](notebooks-available-images.md)。
+ 基于前面列表中的 SageMaker 分发映像的自定义镜像。使用[SageMaker 分发图像](https://github.com/aws/sagemaker-distribution)作为基础。
+ 预先安装的带有笔记本作业依赖关系的自定义镜像 (BYOI)（即. [sagemaker-headless-execution-driver](https://pypi.org/project/sagemaker-headless-execution-driver/) 您的映像必须符合以下要求：
  + 该映像已预装了笔记本作业依赖项。
  + 已安装基本 Python 运行时环境，并默认为 shell 环境。
  + 基本 Python 运行时环境包含正确配置了内核规格的 Jupyter 客户端。
  + 您拥有根用户权限或 `sudo` 访问权限。如果您不是根用户，但通过 `sudo` 访问根权限，请使用 **1000/100** 作为 `UID/GID`。

## 作业创建期间使用的 VPC 子网
<a name="notebook-auto-run-constraints-vpc"></a>

如果您使用 VPC，Studio 会使用您的私有子网来创建作业。指定 1 至 5 个私有子网（以及 1 至 15 个安全组）。

如果您使用带有私有子网的 VPC，则必须选择以下选项之一，以确保笔记本作业可以连接到从属服务或资源：
+ 如果任务需要访问支持接口 VPC 终端节点的 AWS 服务，请创建一个终端节点来连接到该服务。有关支持接口端点的服务列表，请参阅[与集成的AWS 服务 AWS PrivateLink](https://docs.aws.amazon.com/vpc/latest/privatelink/aws-services-privatelink-support.html)。有关创建接口 VPC 终端节点的信息，请参阅[使用接口 VPC 终端节点访问 AWS 服务](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html)。必须至少提供 Amazon S3 VPC 端点网关。
+ 如果笔记本作业需要访问不支持接口 VPC 终端节点的 AWS 服务或外部的资源 AWS，请创建 NAT 网关并将您的安全组配置为允许出站连接。有关为 VPC 设置 NAT 网关的信息，请参阅《Amazon Virtual Private Cloud 用户指南》[https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html)中的*带有公有子网和私有子网 (NAT) 的 VPC*。

## 服务限制
<a name="notebook-auto-run-constraints-service-limit"></a>

由于笔记本作业计划程序是基于 Pipelines、Trainin SageMaker g 和 Amazon EventBridge 服务构建的，因此您的笔记本作业受其服务特定配额的约束。如果超过这些配额，则可能会看到与这些服务相关的错误消息。例如，一次可以运行的管道数量以及可以为单个事件总线设置的规则数量都有限制。有关 SageMaker AI 配额的更多信息，请参阅 A [mazon A SageMaker I 终端节点和配额](https://docs.aws.amazon.com/general/latest/gr/sagemaker.html)。有关 EventBridge 配额的更多信息，请参阅 [Amazon EventBridge 配额](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-quota.html)。