

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

# 使用 S3 创建 conda 频道
<a name="configure-jobs-s3-channel"></a>

如果你的作业需要运行[https://docs.aws.amazon.com/deadline-cloud/latest/userguide/create-queue-environment.html#conda-queue-environment](https://docs.aws.amazon.com/deadline-cloud/latest/userguide/create-queue-environment.html#conda-queue-environment)或[https://conda-forge.org/](https://conda-forge.org/)频道上没有的应用程序，你可以托管一个自定义 conda 频道来提供你自己的软件包。当你在 Deadline Cloud（De AWS adline Cloud）控制台中创建队列时，控制台默认会添加一个 conda 队列环境。要使您的包可用于作业，请将自定义频道添加到队列环境中。

conda 频道是静态托管的内容，您可以通过[多种方式](https://rattler-build.prefix.dev/latest/publish/)托管，包括在文件系统或亚马逊简单存储服务 (Amazon S3) 存储桶中。如果您的 Deadline Cloud 场使用共享文件系统存储资产，则可以使用其上的任何路径作为频道名称。您可以将频道托管在 Amazon S3 存储桶中，以便使用 AWS Identity and Access Management (IAM) 权限进行更广泛的访问。

你可以在[本地构建和测试软件包](build-test-packages-locally.md)，然后[将其发布到频道](publish-packages-s3-channel.md)。在本地构建软件包是一种无需设置基础架构即可开始迭代包构建配方的简便方法。您也可以使用 Deadline Cloud [包构建队列](automate-package-builds.md)来构建软件包并将其发布到频道。软件包生成队列简化了针对多个操作系统和加速器配置的软件包的维护。您可以随时随地更新版本并提交全套软件包版本。

您可以通过多种方式为工作室和 Deadline Cloud 农场配置频道。您可以拥有一个 Amazon S3 通道，并将所有工作站和场主机配置为使用该通道。您也可以拥有多个频道，并使用 AWS DataSync (DataSync) 设置镜像。例如，您的 Deadline Cloud 包构建队列可以发布到 Amazon S3 频道，该频道会在本地镜像工作站和本地服务器场主机。

**Topics**
+ [在本地构建和测试软件包](build-test-packages-locally.md)
+ [将包发布到 Amazon S3 conda 频道](publish-packages-s3-channel.md)
+ [为自定义 conda 包配置生产队列权限](#s3-channel-configure-permissions)
+ [向队列环境中添加 conda 频道](#s3-channel-add-channel)
+ [为应用程序或插件创建 conda 软件包](conda-package.md)
+ [为其创建 conda 构建配方 搅拌机](create-conda-recipe-blender.md)
+ [为其创建 conda 构建配方 Autodesk 玛雅](create-conda-recipe-maya.md)
+ [为... 创建 conda 构建配方 Maya 适配器](create-conda-recipe-maya-openjd.md)
+ [为其创建 conda 构建配方 Autodesk Maya to Arnold (mToA) 插件](create-conda-recipe-mtoa-plugin.md)
+ [使用截止日期云自动生成软件包](automate-package-builds.md)
+ [同步插件到 Deadline Clou](plugin-sync.md)

## 为自定义 conda 包配置生产队列权限
<a name="s3-channel-configure-permissions"></a>

您的生产队列需要队列的 S3 存储桶中`/Conda`前缀的只读权限。打开与生产队列关联的角色的 AWS Identity and Access Management (IAM) 页面，然后使用以下命令修改策略：

1. 打开 Deadline Cloud 控制台并导航到包生成队列的队列详细信息页面。

1. 选择队列服务角色，然后选择**编辑队列**。

1. 滚动至**队列服务角色**部分，然后选择在 **IAM 控制台中查看此角色**。

1. 从权限策略列表中，**AmazonDeadlineCloudQueuePolicy**为您的队列选择。

1. 从 “**权限**” 选项卡中，选择 “**编辑”**。

1. 向队列服务角色添加一个新部分，如下所示。{{111122223333}}用您自己的存储桶和账户替换{{amzn-s3-demo-bucket}}和。

   ```
   {
      "Effect": "Allow",
      "Sid": "CustomCondaChannelReadOnly",
      "Action": [
       "s3:GetObject",
       "s3:ListBucket"
      ],
      "Resource": [
       "arn:aws:s3:::amzn-s3-demo-bucket",
       "arn:aws:s3:::amzn-s3-demo-bucket/Conda/*"
      ],
      "Condition": {
       "StringEquals": {
        "aws:ResourceAccount": "111122223333"
       }
      }
     },
   ```

## 向队列环境中添加 conda 频道
<a name="s3-channel-add-channel"></a>

要使用 S3 conda 频道，您需要将`s3://amzn-s3-demo-bucket/Conda/Default`频道位置添加到提交给 Deadline Cloud 的任务`CondaChannels`参数中。Deadline Cloud 提供的提交者提供了用于指定自定义 conda 频道和套餐的字段。

您可以通过编辑生产队列的 conda 队列环境来避免修改每个作业。执行以下步骤：

1. 打开 Deadline Cloud 控制台并导航到生产队列的队列详细信息页面。

1. 选择环境选项卡。

1. 选择 **Conda** 队列环境，然后选择 “**编辑”**。

1. 选择 **JSON 编辑器**，然后在脚本中找到的参数定义`CondaChannels`。

1. 编辑该行，`default: "deadline-cloud"`使其从新创建的 S3 conda 通道开始：

   ```
   default: "s3://amzn-s3-demo-bucket/Conda/Default deadline-cloud"
   ```

Service-managed 默认情况下，舰队为 conda 启用灵活的频道优先级。对于请求新频道和频道中`blender=4.5`是否都有 Blender 4.5 的任务，将从`deadline-cloud`频道列表中第一个频道中提取包裹。如果在第一个频道中找不到指定的包版本，则将按软件包版本的顺序检查后续频道。

对于客户管理的舰队，您可以使用 Deadline Cloud 示例存储库中的一个 c [onda 队列环境示例来启用 conda](https://github.com/aws-deadline/deadline-cloud-samples/blob/mainline/queue_environments/README.md) 软件包。GitHub