

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

# 根据存储配置文件派生路径映射规则
<a name="deriving-path-mapping-rules-from-storage-profiles"></a>

 路径映射规则描述了如何将路径从作业重新映射到工作主机上路径的实际位置。当任务在工作程序上运行时，会将该作业的存储配置文件与工作人员队列的存储配置文件进行比较，以得出该任务的路径映射规则。

 Deadline Cloud 为队列配置中每个必需的文件系统位置创建映射规则。例如，使用`WSAll`存储配置文件提交到队列的作业`Q1`具有路径映射规则：
+  `FSComm`: `/shared/common -> /mnt/common` 
+  `FS1`: `/shared/projects/project1 -> /mnt/projects/project1` 

 Deadline Cloud 会为`FSComm`和`FS1`文件系统位置创建规则，但不会为`FS2`文件系统位置创建规则，即使`WSAll`和`WorkerConfig`存储配置文件都定义了也是如此`FS2`。这是因为队列`Q1`的所需文件系统位置列表是`["FSComm", "FS1"]`。

 您可以通过提交打印出 Ope [n Job Description 路径映射规则文件的作业，然后在作业完成后读取会话日志，来确认使用特定存储配置文件提交的作业可用的路径映射规则](https://github.com/OpenJobDescription/openjd-specifications/wiki/How-Jobs-Are-Run#path-mapping)：

```
# Change the value of FARM_ID to your farm's identifier
FARM_ID=farm-00112233445566778899aabbccddeeff
# Change the value of QUEUE1_ID to queue Q1's identifier
QUEUE1_ID=queue-00112233445566778899aabbccddeeff
# Change the value of WSALL_ID to the identifier of the WSALL storage profile
WSALL_ID=sp-00112233445566778899aabbccddeeff

aws deadline create-job --farm-id $FARM_ID --queue-id $QUEUE1_ID \
  --priority 50 \
  --storage-profile-id $WSALL_ID \
  --template-type JSON --template \
  '{
    "specificationVersion": "jobtemplate-2023-09",
    "name": "DemoPathMapping",
    "steps": [
      {
        "name": "ShowPathMappingRules",
        "script": {
          "actions": {
            "onRun": {
              "command": "/bin/cat",
              "args": [ "{{Session.PathMappingRulesFile}}" ]
            }
          }
        }
      }
    ]
  }'
```

 如果您使用 De [adline Cloud CLI](https://pypi.org/project/deadline/) 提交作业，则其配置`settings.storage_profile_id`设置将设置通过 CLI 提交的作业将具有的存储配置文件。要使用`WSAll`存储配置文件提交作业，请设置：

```
deadline config set settings.storage_profile_id $WSALL_ID
```

 要像在示例基础架构中运行一样运行客户管理的工作器，请按照《De *adline Cloud 用户指南》*中的 “[运行工作器代理](https://docs.aws.amazon.com/deadline-cloud/latest/userguide/run-worker.html)” 中的步骤来运行工作器。 AWS CloudShell如果您之前按照这些说明进行操作，请先删除`~/demoenv-logs`和`~/demoenv-persist`目录。此外，在执行此操作之前，请按如下方式设置方向所引用的`DEV_FARM_ID`和`DEV_CMF_ID`环境变量的值：

```
DEV_FARM_ID=$FARM_ID
DEV_CMF_ID=$FLEET_ID
```

 作业运行后，您可以在作业的日志文件中看到路径映射规则：

```
cat demoenv-logs/${QUEUE1_ID}/*.log
...
JJSON log results (see below)
...
```

该日志包含`FS1`和`FSComm`文件系统的映射。为了便于阅读，重新格式化了日志条目，如下所示：

```
{
    "version": "pathmapping-1.0",
    "path_mapping_rules": [
        {
            "source_path_format": "POSIX",
            "source_path": "/shared/projects/project1",
            "destination_path": "/mnt/projects/project1"
        },
        {
            "source_path_format": "POSIX",
            "source_path": "/shared/common",
            "destination_path": "/mnt/common"
        }
    ]
```

 您可以提交具有不同存储配置文件的作业，以查看路径映射规则是如何变化的。