

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

# HealthOmics でのワークフローのバージョニング
<a name="workflow-versions"></a>

ワークフローを変更する必要がある場合は、新しいワークフローまたは新しいワークフローバージョンを作成できます。実行ロジックに影響を与えない許可された設定変更を除き、バージョンは変更できません。

ワークフローバージョンには以下の利点があります。
+ バージョンは、関連するワークフローの論理グループを形成します。各ワークフローバージョンにユーザー定義の名前を追加して、より簡単に管理できます (特にバージョン数が多いワークフローの場合）。
+ ワークフローの複数のバージョンを同時に実行できます。
+ ワークフローのすべてのバージョンは同じワークフロー ID とベース ARN を共有しているため、ワークフローを変更した後のパイプライン管理を簡素化できます。
+ ワークフローバージョンは、ワークフローと同じレベルのデータ出典を提供します。バージョンはイミュータブルであり、HealthOmics はワークフローバージョンごとに一意の ARN を作成します。バージョン ARN には、次の例に示すように、ワークフロー ID とバージョン名が含まれます。

  `arn:aws:omics:us-west-2:123456789012:workflow/1234567/version/myUniqueVersionName`
+ 共有ワークフローを所有している場合は、サブスクライバー (以前のバージョンを引き続き使用できるユーザー) を中断することなくワークフローを更新できます。サブスクライバーは、すべてのワークフローバージョンにアクセスできます。新しいバージョンを作成する場合、ワークフローを再共有する必要はありません。
+ ワークフロー実行を開始するときに、ワークフローバージョンを指定できます。
  + ユーザーは、本番稼働用に安定したバージョンを維持し、テスト実行用に最新バージョンを試すことができます。
  + 新しいバージョンで問題が発生した場合、ユーザーはワークフローの以前のバージョンに戻すことができます。
  + 共有ワークフローのサブスクライバーは、使用するバージョンを選択できます。

**Topics**
+ [デフォルトのワークフローバージョン](workflows-default-version.md)
+ [ワークフローバージョンを作成する](workflows-version-create.md)
+ [ワークフローバージョンを更新する](workflows-version-update.md)
+ [ワークフローバージョンを削除する](workflows-version-delete.md)

# デフォルトのワークフローバージョン
<a name="workflows-default-version"></a>

ワークフローの 1 つ以上のバージョンを作成すると、HealthOmics は元のワークフローをデフォルトバージョンとして扱います。実行を開始するときは、オプションで実行のワークフローバージョンを指定できます。実行の開始時にバージョンを指定しない場合、HealthOmics はデフォルトバージョンを使用します。

コンソールでは、HealthOmics は**デフォルトバージョン**ラベルを持つ元のワークフローを示します。コンソールは、1 つ以上のワークフローバージョンを作成した後にのみこのラベルを使用します。元のワークフローは常にデフォルトバージョンのままです。デフォルトとして他のバージョンを割り当てることはできません。

ワークフローに関連付けられている他のバージョンがある場合、ワークフローのデフォルトバージョンを削除することはできません。詳細については、「[プライベートワークフローを削除する](delete-private-workflow.md)」を参照してください。

# ワークフローバージョンを作成する
<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`。

# ワークフローバージョンを更新する
<a name="workflows-version-update"></a>

プライベートワークフローバージョンの説明とデフォルトの実行ストレージ設定を更新できます。ワークフローバージョンのその他の情報を変更するには、新しいバージョンを作成します。

**Topics**
+ [コンソールを使用してワークフローバージョンを更新する](#workflow-versions-console-update)
+ [CLI を使用してワークフローバージョンを更新する](#workflow-versions-api-update)
+ [SDK を使用してワークフローバージョンを更新する](#workflow-versions-sdk-update)

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

**ワークフローバージョンを更新するには**

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

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

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

1. **ワークフロー**ページで、更新するワークフローバージョンを選択し、**アクション**リストから**選択した編集**を選択します。
   + デフォルトバージョンを選択すると、コンソールで**ワークフローの編集**ページが開きます。詳細については、「[プライベートワークフローを更新する](update-private-workflow.md)」を参照してください。
   + ユーザー定義のバージョンを選択すると、コンソールで**バージョンの編集**ページが開きます。

1. **バージョンの編集**ページで、次の情報を入力します。
   + **バージョンの説明** (オプション) - このバージョンの説明。

1. **デフォルト実行ストレージ設定**パネルで、このワークフローバージョンを使用する実行に次のデフォルト値を指定します。実行を開始するときにデフォルト値を上書きできます。
   + **Run storage type** で、**Static** または **Dynamic** を選択します。
   + 静的実行ストレージの場合は、このワークフローバージョンを使用する実行のデフォルトの実行**ストレージ容量**を選択します。このパラメータのデフォルト値は 1200 GiB です。

1. **[Save changes]** (変更の保存) をクリックします。

コンソールはワークフローの詳細ページに戻り、更新されたワークフローバージョンを含むページバナーを表示します。

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

次の CLI コマンドを使用して、ワークフローバージョンのパラメータを更新できます。ワークフロー ID とバージョン名の組み合わせにより、バージョンが一意に識別されます。

```
aws omics update-workflow-version
--workflow-id 1234567
--version-name "my_version"
--storage-type 'STATIC' 
--storage-capacity 2400
--description "version description"
```

`update-workflow-version` リクエストには応答しません。

## SDK を使用してワークフローバージョンを更新する
<a name="workflow-versions-sdk-update"></a>

ワークフローバージョンは、いずれかの SDKsを使用して更新できます。次の python SDK の例は、ワークフローバージョンのストレージタイプと説明を更新する方法を示しています。

```
import boto3

omics = boto3.client('omics')

response = omics.update_workflow_version(
   workflowID=1234567,
   versionName='3.0.0',
   storageType='DYNAMIC',
   description='new version description'
)
```

# ワークフローバージョンを削除する
<a name="workflows-version-delete"></a>

ユーザー定義のワークフローバージョンは、コンソール、CLI、またはいずれかの SDKs を使用して削除できます。ワークフローバージョンを削除しても、ワークフローバージョンを使用している進行中の実行には影響しません。

を削除することはできません[デフォルトのワークフローバージョン](workflows-default-version.md)。すべてのユーザー定義バージョンを削除してから、ワークフローを削除します。

**Topics**
+ [コンソールを使用してワークフローバージョンを削除する](#workflow-versions-console-delete)
+ [CLI を使用してワークフローバージョンを削除する](#workflow-versions-api-delete)
+ [SDK を使用してワークフローバージョンを削除する](#workflow-versions-sdk-delete)

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

**ワークフローバージョンを削除するには**

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

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

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

1. **ワークフロー**ページで、削除するワークフローバージョンを選択し、**アクション**リストから**選択した削除**を選択します。

1. **ワークフローバージョンの削除**モーダルで、「確認」と入力して削除を確認します。

1. **[削除]** を選択します。

コンソールには、削除されたワークフローバージョンを含むページバナーが表示されます。

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

次の CLI コマンドを使用して、ユーザー定義のワークフローバージョンを削除できます。ワークフロー ID とバージョン名の組み合わせにより、バージョンが一意に識別されます。

```
aws omics delete-workflow-version
--workflow-id 9876543
--version-name "my_version"
```

`delete-workflow-version` リクエストには応答しません。

## SDK を使用してワークフローバージョンを削除する
<a name="workflow-versions-sdk-delete"></a>

ワークフローは、いずれかの SDKsを使用して削除できます。

次の例は、Python SDK を使用してワークフローを削除する方法を示しています。

```
import boto3

omics = boto3.client('omics')

response = omics.delete_workflow_version(
   workflowID=1234567,
   versionName='3.0.0'
)
```