

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 在相依步驟中使用步驟中的檔案
<a name="using-files-output-from-a-step-in-a-dependent-step"></a>

此範例顯示任務中的一個步驟如何從相同任務中依賴的步驟存取輸出。

 為了讓一個步驟的輸出可供另一個步驟使用，Deadline Cloud 會將其他動作新增至工作階段，以便在工作階段中執行任務之前下載這些輸出。您可以將這些步驟宣告為需要使用輸出之步驟的相依性，藉此告知從 下載輸出的步驟。

使用此範例的任務`job_attachments_devguide_output`套件。首先從您複製的截止日期雲端範例 GitHub 儲存庫，在您的 AWS CloudShell 環境中建立複本。修改它以新增相依步驟，該步驟只會在現有步驟之後執行，並使用該步驟的輸出：

```
cp -r deadline-cloud-samples/job_bundles/job_attachments_devguide_output ~/

cat >> job_attachments_devguide_output/template.yaml << EOF
- name: DependentStep
  dependencies:
  - dependsOn: Step
  script:
    actions:
      onRun:
        command: /bin/cat
        args:
        - "{{Param.OutputDir}}/output.txt"
EOF
```

 使用此修改後的任務套件建立的任務會以兩個單獨的工作階段執行，一個用於步驟「步驟」中的任務，另一個用於步驟「DependentStep」中的任務。

首先在 CloudShell 索引標籤中啟動截止日期雲端工作者代理程式。讓任何先前提交的任務完成執行，然後從日誌目錄中刪除任務日誌：

```
rm -rf ~/demoenv-logs/queue-*
```

 接著，使用修改後的任務套件提交`job_attachments_devguide_output`任務。等待它在 CloudShell 環境中的工作者上完成執行。查看兩個工作階段的日誌：

```
# 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}}

deadline config set settings.storage_profile_id $WSALL_ID

deadline bundle submit --farm-id $FARM_ID --queue-id $QUEUE1_ID ./job_attachments_devguide_output

# Wait for the job to finish running, and then:

cat demoenv-logs/queue-*/session-*
```

 在名為 之步驟中任務的工作階段日誌中`DependentStep`，會執行兩個不同的下載動作：

```
2024-07-17 02:52:05,666 INFO ==============================================
2024-07-17 02:52:05,666 INFO --------- Job Attachments Download for Job
2024-07-17 02:52:05,667 INFO ==============================================
2024-07-17 02:52:05,667 INFO Syncing inputs using Job Attachments
2024-07-17 02:52:05,928 INFO Downloaded 207.0 B / 207.0 B of 1 file (Transfer rate: 0.0 B/s)
2024-07-17 02:52:05,929 INFO Summary Statistics for file downloads:
Processed 1 file totaling 207.0 B.
Skipped re-processing 0 files totaling 0.0 B.
Total processing time of 0.03954 seconds at 5.23 KB/s.

2024-07-17 02:52:05,979 INFO 
2024-07-17 02:52:05,979 INFO ==============================================
2024-07-17 02:52:05,979 INFO --------- Job Attachments Download for Step
2024-07-17 02:52:05,979 INFO ==============================================
2024-07-17 02:52:05,980 INFO Syncing inputs using Job Attachments
2024-07-17 02:52:06,133 INFO Downloaded 117.0 B / 117.0 B of 1 file (Transfer rate: 0.0 B/s)
2024-07-17 02:52:06,134 INFO Summary Statistics for file downloads:
Processed 1 file totaling 117.0 B.
Skipped re-processing 0 files totaling 0.0 B.
Total processing time of 0.03227 seconds at 3.62 KB/s.
```

 第一個動作會下載名為「步驟」的步驟所使用的`script.sh`檔案。第二個動作會從該步驟下載輸出。Deadline Cloud 會使用該步驟產生的輸出資訊清單做為輸入資訊清單，來決定要下載哪些檔案。

 在相同的日誌中，您可以查看名為 "DependentStep" 步驟的輸出：

```
2024-07-17 02:52:06,213 INFO Output:
2024-07-17 02:52:06,216 INFO Script location: /sessions/session-{{5b33f}}/assetroot-{{3751a}}/script.sh
```