

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# ワークフローバージョンを作成する
<a name="workflows-version-create"></a>

ワークフローの新しいバージョンを作成するときは、新しいバージョンの設定値を指定する必要があります。ワークフローから設定値を継承しません。

バージョンを作成するときは、このワークフローに固有のバージョン名を指定します。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 を割り当てます。ARN は、ワークフロー ID とバージョン名の組み合わせに基づいて一意です。

**警告**  
ワークフローバージョンを削除すると、HealthOmics ではバージョン名を別のワークフローバージョンに再利用できます。ベストプラクティスは、バージョン名を再利用しないことです。名前を再使用する場合、ワークフローと各バージョンには、出典に使用できる一意の UUID があります。

**Topics**
+ [コンソールを使用してワークフローバージョンを作成する](#workflow-versions-console-create)
+ [CLI を使用してワークフローバージョンを作成する](#workflow-versions-api-create)
+ [SDK を使用してワークフローバージョンを作成する](#workflow-versions-sdk)
+ [ワークフローバージョンのステータスを確認する](#using-get-workflow)

## コンソールを使用してワークフローバージョンを作成する
<a name="workflow-versions-console-create"></a>

**ワークフローバージョンを作成する手順**

1. [HealthOmics コンソール](https://console.aws.amazon.com/omics/)を開きます。

1.  必要に応じて、左側のナビゲーションペイン (≡) を開きます。**プライベートワークフロー**を選択します。

1. **プライベートワークフロー**ページで、新しいバージョンのワークフローを選択します。

1. **ワークフローの詳細**ページで、**新しいバージョンの作成**を選択します。

1. **バージョンの作成**ページで、次の情報を入力します。

   1. **バージョン名**: ワークフロー全体で一意のワークフローバージョンの名前を入力します。

   1. **バージョンの説明** (オプション): 説明フィールドを使用して、このバージョンに関するメモを追加できます。

1. **ワークフロー定義**パネルで、次の情報を指定します。

   1. **ワークフロー言語** (オプション): ワークフローバージョンの仕様言語を選択します。それ以外の場合、HealthOmics はワークフロー定義から言語を決定します。

   1. **ワークフロー定義ソース**では、Git ベースのリポジトリ、Amazon S3 の場所、またはローカルドライブから定義フォルダをインポートすることを選択します。

      1. **リポジトリサービスからのインポート**の場合:
**注記**  
HealthOmics は、、GitHub、GitLab、、 のパブリックリポジトリとプライベートリポジトリをサポートしていますBitbucketGitHub self-managedGitLab self-managed。

         1. **接続**を選択して、 AWS リソースを外部リポジトリに接続します。接続を作成するには、「」を参照してください[外部コードリポジトリに接続する](setting-up-new.md#setting-up-omics-repository)。
**注記**  
TLV リージョンのお客様は、ワークフローを作成するにはIAD、 (us-east-1) リージョンで接続を作成する必要があります。

         1. **完全なリポジトリ ID** で、リポジトリ ID を user-name/repo-name として入力します。このリポジトリ内のファイルにアクセスできることを確認します。

         1. **ソースリファレンス** (オプション) に、リポジトリソースリファレンス (ブランチ、タグ、またはコミット ID) を入力します。ソース参照が指定されていない場合、HealthOmics はデフォルトのブランチを使用します。

         1. **ファイルパターンを除外** で、特定のフォルダ、ファイル、または拡張子を除外するファイルパターンを入力します。これにより、リポジトリファイルをインポートする際のデータサイズを管理できます。最大 50 パターンがあり、パターンは [glob パターン構文](https://fossil-scm.org/home/doc/tip/www/globs.md)に従う必要があります。例: 

            1. `tests/`

            1. `*.jpeg`

            1. `large_data.zip`

      1. **S3 から定義フォルダを選択する**:

         1. zip 形式のワークフロー定義フォルダを含む Amazon S3 の場所を入力します。Amazon S3 バケットは、ワークフローと同じリージョンにある必要があります。

         1. アカウントが Amazon S3 バケットを所有していない場合は、S3 バケット所有者の AWS アカウント ID にバケット所有者のアカウント ID を入力します。 **S3 ** この情報は、HealthOmics がバケットの所有権を検証できるようにするために必要です。

      1. **ローカルソースから定義フォルダを選択する**:

         1. 圧縮ワークフロー定義フォルダのローカルドライブの場所を入力します。

   1. **メインワークフロー定義ファイルパス** (オプション): 圧縮されたワークフロー定義フォルダまたはリポジトリから ファイルへの`main`ファイルパスを入力します。ワークフロー定義フォルダにファイルが 1 つしかない場合、またはメインファイルの名前が「main」の場合、このパラメータは必要ありません。

1. **README ファイル** (オプション) パネルで、**README ファイルのソース**を選択し、次の情報を指定します。
   + **リポジトリサービスからインポート**するには、**README ファイルパス**で、リポジトリ内の README ファイルへのパスを入力します。
   + **S3 からファイルを選択する**には、S3 の **README ファイルに S3**README ファイルの Amazon S3 URI を入力します。
   + **ローカルソースからファイルを選択**: **README で - オプション**で、**ファイルを選択** を選択して、アップロードするマークダウン (.md) ファイルを選択します。

1. **デフォルトの実行ストレージ設定**パネルで、このワークフローを使用する実行のデフォルトの実行ストレージタイプと容量を指定します。

   1. **実行ストレージタイプ**: 一時実行ストレージのデフォルトとして静的ストレージと動的ストレージのどちらを使用するかを選択します。デフォルトは静的ストレージです。

   1. **Run storage capacity** (オプション): 静的実行ストレージタイプでは、このワークフローに必要なデフォルトの実行ストレージ量を入力できます。このパラメータのデフォルト値は 1200 GiB です。実行を開始するときに、これらのデフォルト値を上書きできます。

1. **タグ** (オプション): 最大 50 個のタグをこのワークフローバージョンに関連付けることができます。

1. [**次へ**] を選択します。

1. **ワークフローパラメータの追加** (オプション) ページで、**パラメータソース**を選択します。

   1. **ワークフロー定義ファイルから解析**する場合、HealthOmics はワークフロー定義ファイルからワークフローパラメータを自動的に解析します。

   1. **Git リポジトリからパラメータテンプレートを提供するには**、リポジトリからパラメータテンプレートファイルへのパスを使用します。

   1. **ローカルソースから JSON ファイルを選択する** で、パラメータを指定するローカルソースからJSONファイルをアップロードします。

   1. **ワークフローパラメータを手動で入力**するには、パラメータ名と説明を手動で入力します。

1. **パラメータプレビュー**パネルでは、このワークフローバージョンのパラメータを確認または変更できます。JSON ファイルを復元すると、ローカルで行った変更はすべて失われます。

1. **コンテナ URI の再マッピング**ページで、**マッピングルール**パネルで、ワークフローの URI マッピングルールを定義できます。

   **マッピングファイルのソース**で、次のいずれかのオプションを選択します。
   + **なし** – マッピングルールは必要ありません。
   + **S3 から JSON ファイルを選択する** – マッピングファイルの S3 の場所を指定します。
   + **ローカルソースから JSON ファイルを選択する** – ローカルデバイスのマッピングファイルの場所を指定します。
   + **マッピングを手動で入力する** – **マッピング**パネルにレジストリマッピングとイメージマッピングを入力します。

1.  コンソールに**マッピング**パネルが表示されます。マッピングソースファイルを選択した場合、コンソールにはファイルの値が表示されます。

   1. **レジストリマッピング**では、マッピングを編集したり、マッピングを追加したりできます (最大 20 個のレジストリマッピング）。

      各レジストリマッピングには、次のフィールドが含まれます。
      + **アップストリームレジストリ URL** – アップストリームレジストリの URI。
      + **ECR リポジトリプレフィックス** – Amazon ECR プライベートリポジトリで使用するリポジトリプレフィックス。
      + (オプション) **アップストリームリポジトリプレフィックス** – アップストリームレジストリ内のリポジトリのプレフィックス。
      + (オプション) **ECR アカウント ID** – アップストリームコンテナイメージを所有するアカウントのアカウント ID。

   1. **イメージマッピング**では、イメージマッピングを編集したり、マッピングを追加したりできます (最大 100 個のイメージマッピング）。

      各イメージマッピングには、次のフィールドが含まれます。
      + **ソースイメージ** – アップストリームレジストリ内のソースイメージの URI を指定します。
      + **送信先イメージ** – プライベート Amazon ECR レジストリ内の対応するイメージの URI を指定します。

1. [**次へ**] を選択します。

1. バージョン設定を確認し、**バージョンの作成**を選択します。

バージョンが作成されると、コンソールはワークフローの詳細ページに戻り、**ワークフローとバージョンテーブルに新しいバージョン**を表示します。

## CLI を使用してワークフローバージョンを作成する
<a name="workflow-versions-api-create"></a>

`CreateWorkflowVersion` API オペレーションを使用してワークフローバージョンを作成できます。オプションのパラメータの場合、HealthOmics は次のデフォルトを使用します。


| パラメータ  | デフォルト  | 
| --- | --- | 
| エンジン | ワークフロー定義から決定 | 
| ストレージタイプ | STATIC | 
| ストレージ容量 (静的ストレージ用) | 1200 GiB | 
| メイン  | ワークフロー定義フォルダの内容に基づいて決定されます。詳細については、「[HealthOmics ワークフロー定義の要件](workflow-defn-requirements.md)」を参照してください。 | 
| アクセラレータ | なし | 
| タグ | なし | 

次の 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](https://docs.aws.amazon.com/omics/latest/api/API_CreateWorkflowVersion.html)」を参照してください。

`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 を使用してワークフローバージョンを作成する
<a name="workflow-versions-sdk"></a>

ワークフローは、いずれかの 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={ ... }
)
```

## ワークフローバージョンのステータスを確認する
<a name="using-get-workflow"></a>

ワークフローバージョンを作成したら、次のように **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`。