建立工作流程版本 - AWS HealthOmics

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

建立工作流程版本

當您建立新的工作流程版本時,您需要指定新版本的組態值。它不會從工作流程繼承任何組態值。

當您建立版本時,請提供此工作流程唯一的版本名稱。HealthOmics 建立版本後,您無法變更名稱。

版本名稱必須以字母或數字開頭,並可包含大小寫字母、數字、連字號、句點和底線。長度上限為 64 個字元。例如,您可以使用簡單的命名機制,例如 version1、Version2、Version3。您也可以將工作流程版本與您自己的內部版本控制慣例進行比對,例如 2.7.0、2.7.1、2.7.2。

或者,使用版本描述欄位來新增有關此版本的備註。例如:Fix for syntax error in workflow definition

注意

請勿在版本名稱中包含任何個人身分識別資訊 (PII)。版本名稱會出現在工作流程版本 ARN 中。

HealthOmics 會將唯一的 ARN 指派給工作流程版本。根據工作流程 ID 和版本名稱的組合,ARN 是唯一的。

警告

刪除工作流程版本後,HealthOmics 可讓您重複使用不同工作流程版本的版本名稱。最佳實務是不要重複使用版本名稱。如果您重複使用名稱,工作流程和每個版本都有唯一的 UUID,可用於原始伺服器。

使用主控台建立工作流程版本

建立工作流程的步驟
  1. 開啟 HealthOmics 主控台

  2. 選取左上方的導覽窗格 (≡),然後選取私有工作流程

  3. 私有工作流程頁面上,選擇新版本的工作流程。

  4. 工作流程詳細資訊頁面上,選擇建立新版本

  5. 建立版本頁面上,提供下列資訊:

    1. 版本名稱:輸入工作流程中唯一工作流程版本的名稱。

    2. 版本描述 (選用):您可以使用描述欄位來新增有關此版本的備註。

  6. 工作流程定義面板中,提供下列資訊:

    1. 工作流程語言 (選用):選取工作流程版本的規格語言。否則,HealthOmics 會從工作流程定義判斷語言。

    2. 對於工作流程定義來源,選擇從 Git 型儲存庫、Amazon S3 位置或從本機磁碟機匯入定義資料夾。

      1. 對於從儲存庫服務匯入

        注意

        HealthOmics 支援 GitHub、、GitLab、Bitbucket、 的公有和私有儲存庫GitHub self-managedGitLab self-managed。

        1. 選擇連線,將您的 AWS 資源連線至外部儲存庫。若要建立連線,請參閱 與外部程式碼儲存庫連線

          注意

          TLV 區域中的客戶需要在 IAD(us-east-1) 區域中建立連線,才能建立工作流程。

        2. 完整儲存庫 ID 中,將您的儲存庫 ID 輸入為 user-name/repo-name。確認您有權存取此儲存庫中的檔案。

        3. 來源參考 (選用) 中,輸入儲存庫來源參考 (分支、標籤或遞交 ID)。如果未指定來源參考,HealthOmics 會使用預設分支。

        4. 排除檔案模式中,輸入檔案模式以排除特定資料夾、檔案或副檔名。這有助於在匯入儲存庫檔案時管理資料大小。最多有 50 個模式,而且 修補程式必須遵循 glob 模式語法。例如:

          1. tests/

          2. *.jpeg

          3. large_data.zip

      2. 對於從 S3 選取定義資料夾

        1. 輸入包含壓縮工作流程定義資料夾的 Amazon S3 位置。Amazon S3 儲存貯體必須與工作流程位於相同的區域。

        2. 如果您的帳戶沒有 Amazon S3 儲存貯體,請在 S3 儲存貯體擁有者 AWS 的帳戶 ID 中輸入儲存貯體擁有者的帳戶 ID。 S3 需要此資訊,以便 HealthOmics 可以驗證儲存貯體擁有權。

      3. 對於從本機來源選取定義資料夾

        1. 輸入壓縮工作流程定義資料夾的本機磁碟機位置。

    3. 主要工作流程定義檔案路徑 (選用):輸入從壓縮工作流程定義資料夾或儲存庫到main檔案的檔案路徑。如果工作流程定義資料夾中只有一個檔案,或主要檔案名為「主要」,則不需要此參數。

  7. 預設執行儲存組態面板中,為使用此工作流程的執行提供預設執行儲存類型和容量:

    1. 執行儲存體類型:選擇是否使用靜態或動態儲存體做為暫時執行儲存體的預設值。預設為靜態儲存。

    2. 執行儲存容量 (選用):對於靜態執行儲存類型,您可以輸入此工作流程所需的預設執行儲存量。此參數的預設值為 1200 GiB。您可以在開始執行時覆寫這些預設值。

  8. 標籤 (選用):您最多可以將 50 個標籤與此工作流程版本建立關聯。

  9. 選擇下一步

  10. 新增工作流程參數 (選用) 頁面上,選取參數來源

    1. 對於從工作流程定義檔案剖析,HealthOmics 會自動從工作流程定義檔案剖析工作流程參數。

    2. 對於從 Git 儲存庫提供參數範本,請使用從儲存庫到參數範本檔案的路徑。

    3. 對於從本機來源選取 JSON 檔案,請從指定參數的本機來源上傳JSON檔案。

    4. 對於手動輸入工作流程參數,手動輸入參數名稱和描述。

  11. 參數預覽面板中,您可以檢閱或變更此工作流程版本的參數。如果您還原JSON檔案,則會遺失您所做的任何本機變更。

  12. 選擇下一步

  13. 檢閱版本組態,然後選擇建立版本

建立版本時,主控台會返回工作流程詳細資訊頁面,並在工作流程和版本資料表中顯示新版本

使用 CLI 建立工作流程版本

您可以使用 CreateWorkflowVersion API 操作建立工作流程版本。針對選用參數,HealthOmics 會使用下列預設值:

參數 預設
引擎 從工作流程定義決定
儲存體類型 STATIC
儲存容量 (用於靜態儲存) 1200 GiB
主要 根據工作流程定義資料夾的內容決定。如需詳細資訊,請參閱HealthOmics 工作流程定義需求
加速器
標籤

下列 CLI 範例會建立工作流程版本,並以靜態儲存做為預設執行儲存:

aws omics create-workflow-version \ --workflow-id 1234567 \ --version-name "my_version" \ --engine WDL \ --definition-zip fileb://workflow-crambam.zip \ --description "my version description" \ --main file://workflow-params.json \ --parameter-template file://workflow-params.json \ --storage-type='STATIC' \ --storage-capacity 1200 \ --tags example123=string \ --accelerators GPU

如果您的工作流程定義檔案位於 Amazon S3 資料夾,請使用 definition-uri 參數輸入位置,而非 definition-zip。如需詳細資訊,請參閱 AWS HealthOmics API 參考中的 CreateWorkflowVersion

您會收到以下對create-workflow-version請求的回應。

{ "workflowId": "1234567", "versionName": "my_version", "arn": "arn:aws:omics:us-west-2:123456789012:workflow/1234567/version/3", "status": "ACTIVE", "tags": { "environment": "production", "owner": "team-alpha" }, "uuid": "0ac9a563-355c-fc7a-1b47-a115167af8a2" }

使用 SDK 建立工作流程版本

您可以使用其中一個 SDKs建立工作流程。

下列範例示範如何使用 Python SDK 建立工作流程版本

import boto3 omics = boto3.client('omics') with open('definition.zip', 'rb') as f: definition = f.read() response = omics.create_workflow_version( workflowId='1234567', versionName='my_version', requestId='my_request_1' definitionZip=definition, parameterTemplate={ ... } )

驗證工作流程版本的狀態

建立工作流程版本後,您可以使用 get-workflow-version 驗證狀態並檢視工作流程的其他詳細資訊,如下所示。

aws omics get-workflow-version --workflow-id 9876543 --version-name "my_version"

回應會提供您工作流程的詳細資訊,包括狀態,如下所示。

{ "workflowId": "1234567", "versionName": "3.0.0", "arn": "arn:aws:omics:us-west-2:123456789012:workflow/1234567/version/3.0.0", "status": "ACTIVE", "description": ... "uuid": "0ac9a563-355c-fc7a-1b47-a115167af8a2" }

在使用此工作流程版本開始執行之前,狀態必須轉換為 ACTIVE