

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# HealthOmics 워크플로 작업
<a name="creating-private-workflows"></a>

프라이빗 워크플로를 생성하려면 다음이 필요합니다.
+  **Workflow definition file:** WDL, Nextflow또는 로 작성된 워크플로 정의 파일입니다CWL. 워크플로 정의는 워크플로를 사용하는 실행의 입력과 출력을 지정합니다. 또한 컴퓨팅 및 메모리 요구 사항을 포함하여 워크플로의 실행 및 실행 작업에 대한 사양도 포함되어 있습니다. 워크플로 정의 파일은 `.zip` 형식이어야 합니다. 자세한 내용은 HealthOmics의 [워크플로 정의 파일을](workflow-definition-files.md) 참조하세요. HealthOmics
  + [Kiro CLI](https://docs.aws.amazon.com/kiro/latest/userguide/what-is.html)를 사용하여 WDL, Nextflow 및 CWL에서 워크플로 정의 파일을 빌드하고 검증할 수 있습니다. 자세한 내용은 [Kiro CLI에 대한 프롬프트 예제](getting-started.md#omics-kiro-prompts) 및 GitHub의 [HealthOmics Agentic 생성형 AI 자습](https://github.com/aws-samples/aws-healthomics-tutorials/tree/main/generative-ai)서를 참조하세요.
+  **(Optional) Parameter template file:**에 작성된 파라미터 템플릿 파일입니다JSON. 파일을 생성하여 실행 파라미터를 정의하거나 HealthOmics가 파라미터 템플릿을 생성합니다. 자세한 내용은 [ HealthOmics 워크플로용 파라미터 템플릿 파일을 참조하세요](parameter-templates.md).
+ **Amazon ECR container images:** 워크플로에 사용되는 각 컨테이너에 대해 프라이빗 Amazon ECR 리포지토리를 생성합니다. 워크플로용 컨테이너 이미지를 생성하여 프라이빗 리포지토리에 저장하거나 지원되는 업스트림 레지스트리의 콘텐츠를 ECR 프라이빗 리포지토리와 동기화합니다.
+  **(Optional) Sentieon licenses:** 프라이빗 워크플로에서 Sentieon 소프트웨어를 사용할 수 있는 Sentieon 라이선스를 요청합니다.

4MiB(압축)보다 큰 워크플로 정의 파일의 경우 워크플로 생성 중에 다음 옵션 중 하나를 선택합니다.
+ Amazon Simple Storage Service 폴더에 업로드하고 위치를 지정합니다.
+ 외부 리포지토리(최대 크기 1GiB)에 업로드하고 리포지토리 세부 정보를 지정합니다.

워크플로를 생성한 후 `UpdateWorkflow` 작업으로 다음 워크플로 정보를 업데이트할 수 있습니다.
+ 이름
+ 설명
+ 기본 스토리지 유형
+ 기본 스토리지 용량(워크플로 ID 사용)
+ README.md 파일

워크플로의 다른 정보를 변경하려면 새 워크플로 또는 워크플로 버전을 생성합니다.

워크플로 버전 관리를 사용하여 워크플로를 구성하고 구조화합니다. 버전은 반복 워크플로 업데이트의 도입을 관리하는 데도 도움이 됩니다. 버전에 대한 자세한 내용은 [워크플로 버전 생성](workflows-version-create.md)을 참조하십시오.

**Topics**
+ [프라이빗 워크플로 생성](create-private-workflow.md)
+ [프라이빗 워크플로 업데이트](update-private-workflow.md)
+ [프라이빗 워크플로 삭제](delete-private-workflow.md)
+ [워크플로 상태 확인](using-get-workflow.md)
+ [워크플로 정의에서 게놈 파일 참조](create-ref-files.md)

# 프라이빗 워크플로 생성
<a name="create-private-workflow"></a>

HealthOmics 콘솔, AWS CLI 명령 또는 AWS SDKs 중 하나를 사용하여 워크플로를 생성합니다.

**참고**  
워크플로 이름에 개인 식별 정보(PII)를 포함하지 마십시오. 이러한 이름은 CloudWatch 로그에 표시됩니다.

워크플로를 생성할 때 HealthOmics는 워크플로에 범용 고유 식별자(UUID)를 할당합니다. 워크플로 UUID는 워크플로 및 워크플로 버전에서 고유한 글로벌 고유 식별자(guid)입니다. 데이터 출처를 위해 워크플로 UUID를 사용하여 워크플로를 고유하게 식별하는 것이 좋습니다.

워크플로 작업에서 외부 도구(실행 파일, 라이브러리 또는 스크립트)를 사용하는 경우 이러한 도구를 컨테이너 이미지에 빌드합니다. 컨테이너 이미지를 호스팅하는 옵션은 다음과 같습니다.
+ ECR 프라이빗 레지스트리에서 컨테이너 이미지를 호스팅합니다. 이 옵션의 사전 조건:
  + ECR 프라이빗 리포지토리를 생성하거나 기존 리포지토리를 선택합니다.
  + 에 설명된 대로 ECR 리소스 정책을 구성합니다[Amazon ECR 권한](permissions-ecr.md).
  + 컨테이너 이미지를 프라이빗 리포지토리에 업로드합니다.
+ 컨테이너 이미지를 지원되는 타사 레지스트리의 콘텐츠와 동기화합니다. 이 옵션의 사전 조건:
  + ECR 프라이빗 레지스트리에서 각 업스트림 레지스트리에 대한 풀스루 캐시 규칙을 구성합니다. 자세한 내용은 [이미지 매핑](workflows-ecr.md#ecr-pull-through-mapping-format) 단원을 참조하십시오.
  + 에 설명된 대로 ECR 리소스 정책을 구성합니다[Amazon ECR 권한](permissions-ecr.md).
  + 리포지토리 생성 템플릿을 생성합니다. 템플릿은 Amazon ECR이 업스트림 레지스트리에 대한 프라이빗 리포지토리를 생성하는 시기에 대한 설정을 정의합니다.
  + 접두사 매핑을 생성하여 워크플로 정의의 컨테이너 이미지 참조를 ECR 캐시 네임스페이스에 다시 매핑합니다.

워크플로를 생성할 때 워크플로, 실행 및 작업에 대한 정보가 포함된 워크플로 정의를 제공합니다. HealthOmics는 워크플로 정의를 로컬 또는 Amazon S3 버킷 또는 지원되는 Git 기반 리포지토리에 저장된 .zip 아카이브로 검색할 수 있습니다.

**Topics**
+ [콘솔을 사용하여 워크플로 생성](#console-create-workflows)
+ [CLI를 사용하여 워크플로 생성](#api-create-workflows)
+ [SDK를 사용하여 워크플로 생성](#sdk-create-workflows)

## 콘솔을 사용하여 워크플로 생성
<a name="console-create-workflows"></a>

**워크플로를 생성하는 단계**

1. [HealthOmics 콘솔](https://console.aws.amazon.com/omics/)을 엽니다.

1.  필요한 경우 왼쪽 탐색 창(™)을 엽니다. **프라이빗 워크플로**를 선택합니다.

1. **프라이빗 워크플로** 페이지에서 **워크플로 생성을** 선택합니다.

1. **워크플로 정의** 페이지에서 다음 정보를 제공합니다.

   1. **워크플로 이름**:이 워크플로의 고유한 이름입니다. AWS HealthOmics 콘솔 및 CloudWatch 로그에서 실행을 구성하려면 워크플로 이름을 설정하는 것이 좋습니다.

   1. **설명**(선택 사항):이 워크플로에 대한 설명입니다.

1. **워크플로 정의** 패널에서 다음 정보를 제공합니다.

   1. **워크플로 언어**(선택 사항): 워크플로의 사양 언어를 선택합니다. 그렇지 않으면 HealthOmics가 워크플로 정의에서 언어를 결정합니다.

   1. **워크플로 정의 소스**에서 Git 기반 리포지토리, Amazon S3 위치 또는 로컬 드라이브에서 정의 폴더를 가져오도록 선택합니다.

      1. **리포지토리 서비스에서 가져오기의** 경우:
**참고**  
HealthOmics는 GitHub, , , GitLab, Bitbucket에 대한 퍼블릭 및 프라이빗 리포지토리GitHub self-managed를 지원합니다GitLab 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. 압축된 워크플로 정의 폴더가 포함된 Amazon S3 위치를 입력합니다. Amazon S3 버킷은 워크플로와 동일한 리전에 있어야 합니다.

         1. 계정이 Amazon S3 버킷을 소유하지 않은 경우 S3 버킷 소유자의 AWS 계정 ID에 버킷 소유자의 계정 ID를 입력합니다. **S3 ** 이 정보는 HealthOmics가 버킷 소유권을 확인할 수 있도록 하기 위해 필요합니다.

      1. **로컬 소스에서 정의 폴더 선택의** 경우:

         1. 압축된 워크플로 정의 폴더의 로컬 드라이브 위치를 입력합니다.

   1. **기본 워크플로 정의 파일 경로**(선택 사항): 압축된 워크플로 정의 폴더 또는 리포지토리에서 파일로의 `main` 파일 경로를 입력합니다. 워크플로 정의 폴더에 파일이 하나만 있거나 기본 파일의 이름이 "main"인 경우에는이 파라미터가 필요하지 않습니다.

1. **README 파일**(선택 사항) 패널에서 **README 파일의 소스를** 선택하고 다음 정보를 제공합니다.
   + **리포지토리 서비스에서 가져오기**의 **README 파일 경로**에 리포지토리 내의 README 파일 경로를 입력합니다.
   + **S3에서 파일 선택**의 S3**의 README 파일에 README 파일의 Amazon S3 URI를 S3**입력합니다. Amazon S3 
   + **로컬 소스에서 파일 선택**: **README - 선택** 사항에서 **파일 선택을** 선택하여 업로드할 마크다운(.md) 파일을 선택합니다.

1. **기본 실행 스토리지 구성** 패널에서이 워크플로를 사용하는 실행에 대한 기본 실행 스토리지 유형 및 용량을 제공합니다.

   1. **실행 스토리지 유형**: 정적 또는 동적 스토리지를 임시 실행 스토리지의 기본값으로 사용할지 여부를 선택합니다. 기본값은 정적 스토리지입니다.

   1. **스토리지 용량 실행**(선택 사항): 정적 실행 스토리지 유형의 경우이 워크플로에 필요한 기본 실행 스토리지 양을 입력할 수 있습니다. 이 파라미터의 기본값은 1200GiB입니다. 실행을 시작할 때 이러한 기본값을 재정의할 수 있습니다.

1. **태그**(선택 사항):이 워크플로에 최대 50개의 태그를 연결할 수 있습니다.

1. **다음**을 선택합니다.

1. **워크플로 파라미터 추가**(선택 사항) 페이지에서 **파라미터 소스를** 선택합니다.

   1. **워크플로 정의 파일에서 구문 분석**의 경우 HealthOmics는 워크플로 정의 파일에서 워크플로 파라미터를 자동으로 구문 분석합니다.

   1. **Git 리포지토리에서 파라미터 템플릿 제공**에서 리포지토리의 파라미터 템플릿 파일 경로를 사용합니다.

   1. **로컬 소스에서 JSON 파일 선택**에서 파라미터를 지정하는 로컬 소스에서 JSON 파일을 업로드합니다.

   1. **워크플로 파라미터를 수동으로 입력**하려면 파라미터 이름과 설명을 수동으로 입력합니다.

1. **파라미터 미리 보기** 패널에서이 워크플로 버전의 파라미터를 검토하거나 변경할 수 있습니다. JSON 파일을 복원하면 로컬 변경 사항이 손실됩니다.

1. **다음**을 선택합니다.

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="api-create-workflows"></a>

워크플로 파일과 파라미터 템플릿 파일이 로컬 시스템에 있는 경우 다음 CLI 명령을 사용하여 워크플로를 생성할 수 있습니다.

```
aws omics create-workflow  \
  --name "my_workflow"   \
  --definition-zip fileb://my-definition.zip \
  --parameter-template file://my-parameter-template.json
```

`create-workflow` 작업은 다음 응답을 반환합니다.

```
{
  "arn": "arn:aws:omics:us-west-2:....",
  "id": "1234567",
  "status": "CREATING",
  "tags": {
      "resourceArn": "arn:aws:omics:us-west-2:...."
  },
  "uuid": "64c9a39e-8302-cc45-0262-2ea7116d854f"
}
```

### 워크플로를 생성할 때 사용할 선택적 파라미터
<a name="other-create-parameters"></a>

워크플로를 생성할 때 선택적 파라미터를 지정할 수 있습니다. 구문 세부 정보는 AWS HealthOmics API 참조의 [CreateWorkflow](https://docs.aws.amazon.com/omics/latest/api/API_CreateWorkflow.html)를 참조하세요.

**Topics**
+ [워크플로 정의 Amazon S3 위치 지정](#create-defn-uri-parameter)
+ [Git 기반 리포지토리에서 워크플로 정의 사용](#create-defn-uri-git)
+ [Readme 파일 지정](#specify-readme-file)
+ [**main** 정의 파일 지정](#create-main-parameter)
+ [실행 스토리지 유형 지정](#create-run-storage-parameter)
+ [GPU 구성 지정](#create-accelerator-parameter)
+ [풀스루 캐시 매핑 파라미터 구성](#create-prefix-mapping-parameters)

#### 워크플로 정의 Amazon S3 위치 지정
<a name="create-defn-uri-parameter"></a>

워크플로 정의 파일이 Amazon S3 폴더에 있는 경우 다음 예제와 같이 `definition-uri` 파라미터를 사용하여 위치를 지정합니다. 계정이 Amazon S3 버킷을 소유하지 않은 경우 소유자의 AWS 계정 ID를 입력합니다.

```
aws omics create-workflow  \
  --name Test  \
  --definition-uri s3://omics-bucket/workflow-definition/  \
  --owner-id  123456789012 
    ...
```

#### Git 기반 리포지토리에서 워크플로 정의 사용
<a name="create-defn-uri-git"></a>

지원되는 Git 기반 리포지토리의 워크플로 정의를 사용하려면 요청에 `definition-repository` 파라미터를 사용합니다. 입력 소스가 두 개 이상 포함된 경우 요청이 실패하므로 다른 `definition` 파라미터를 제공하지 마십시오.

`definition-respository` 파라미터에는 다음 필드가 포함됩니다.
+ **connectionArn** - AWS 리소스를 외부 리포지토리에 연결하는 코드 연결의 ARN입니다.
+ **fullRepositoryId** - 리포지토리 ID를 로 입력합니다`owner-name/repo-name`. 이 리포지토리의 파일에 액세스할 수 있는지 확인합니다.
+ **sourceReference** (선택 사항) - 리포지토리 참조 유형(BRANCH, TAG 또는 COMMIT)과 값을 입력합니다.

  소스 참조를 지정하지 않으면 HealthOmics는 기본 브랜치에서 최신 커밋을 사용합니다.
+ **excludeFilePatterns** (선택 사항) - 파일 패턴을 입력하여 특정 폴더, 파일 또는 확장자를 제외합니다. 이렇게 하면 리포지토리 파일을 가져올 때 데이터 크기를 관리하는 데 도움이 됩니다. 최대 50개의 패턴을 제공합니다. 패턴은 [ glob 패턴 구문](https://fossil-scm.org/home/doc/tip/www/globs.md)을 따라야 합니다. 예제:
  + `tests/`
  + `*.jpeg`
  + `large_data.zip`

Git 기반 리포지토리에서 워크플로 정의를 지정할 때를 사용하여 파라미터 템플릿 파일을 `parameter-template-path` 지정합니다. 이 파라미터를 제공하지 않으면 HealthOmics는 파라미터 템플릿 없이 워크플로를 생성합니다.

다음 예제는 Git 기반 프라이빗 리포지토리의 콘텐츠와 관련된 파라미터를 보여줍니다.

```
aws omics create-workflow \
    --name custom-variant \
    --description "Custom variant calling pipeline" \
    --engine "WDL" \
    --definition-repository '{
            "connectionArn": "arn:aws:codeconnections:us-east-1:123456789012:connection/abcd1234-5678-90ab-cdef-1234567890ab",
            "fullRepositoryId": "myorg/my-genomics-workflows",
            "sourceReference": {
                "type": "BRANCH",            
                "value": "main"        
            },        
            "excludeFilePatterns": ["tests/**", "*.log"]   
      }' \
    --main "workflows/variant-calling/main.wdl" \
    --parameter-template-path "parameters/variant-calling-params.json" \
    --readme-path "docs/variant-calling-README.md" \
    --storage-type "DYNAMIC" \
```

자세한 예제는 블로그 게시물 [ How To Create a AWS HealthOmics Workflows from Content in Git를 참조하세요](https://repost.aws/articles/ARCEN7AjhaRSmteczRoc_QsA/how-to-create-an-aws-healthomics-workflows-from-content-in-git).

#### Readme 파일 지정
<a name="specify-readme-file"></a>

다음 파라미터 중 하나를 사용하여 README 파일 위치를 지정할 수 있습니다.
+ **readme-markdown** - 로컬 시스템의 문자열 입력 또는 파일입니다.
+ **readme-uri** - S3에 저장된 파일의 URI입니다.
+ **readme-path ** - 리포지토리의 README 파일 경로입니다.

readme-path는 **정의 리포지토리**와 함께 사용해야 합니다. README 파라미터를 지정하지 않으면 HealthOmics는 루트 수준 README.md 파일을 리포지토리에 가져옵니다(있는 경우).

다음 예제에서는 readme-path 및 readme-uri를 사용하여 README 파일 위치를 지정하는 방법을 보여줍니다.

```
# Using README from repository
aws omics create-workflow \
    --name "documented-workflow" \
    --definition-repository '...' \
    --readme-path "docs/workflow-guide.md"

# Using README from S3
aws omics create-workflow \
    --name "s3-readme-workflow" \
    --definition-repository '...' \
    --readme-uri "s3://my-bucket/workflow-docs/readme.md"
```

자세한 내용은 [HealthOmics 워크플로 README 파일](workflows-readme.md) 단원을 참조하십시오.

#### **main** 정의 파일 지정
<a name="create-main-parameter"></a>

여러 워크플로 정의 파일을 포함하는 경우 `main` 파라미터를 사용하여 워크플로의 기본 정의 파일을 지정합니다.

```
aws omics create-workflow  \
  --name Test  \
  --main multi_workflow/workflow2.wdl  \
    ...
```

#### 실행 스토리지 유형 지정
<a name="create-run-storage-parameter"></a>

기본 실행 스토리지 유형(DYNAMIC 또는 STATIC) 및 실행 스토리지 용량(정적 스토리지에 필요)을 지정할 수 있습니다. 실행 스토리지 유형에 대한 자세한 내용은 섹션을 참조하세요[HealthOmics 워크플로에서 스토리지 유형 실행](workflows-run-types.md).

```
aws omics create-workflow  \
  --name my_workflow   \
  --definition-zip fileb://my-definition.zip \
  --parameter-template file://my-parameter-template.json   \
  --storage-type 'STATIC'  \
  --storage-capacity 1200  \
```

#### GPU 구성 지정
<a name="create-accelerator-parameter"></a>

액셀러레이터 파라미터를 사용하여 가속 컴퓨팅 인스턴스에서 실행되는 워크플로를 생성합니다. 다음 예제에서는 `accelerators` 파라미터를 사용하는 방법을 보여줍니다. 워크플로 정의에서 GPU 구성을 지정합니다. [가속 컴퓨팅 인스턴스](memory-and-compute-tasks.md#workflow-task-accelerated-computing-instances)을(를) 참조하세요.

```
aws omics create-workflow --name workflow name \
   --definition-uri s3://amzn-s3-demo-bucket1/GPUWorkflow.zip \
   --accelerators GPU
```

#### 풀스루 캐시 매핑 파라미터 구성
<a name="create-prefix-mapping-parameters"></a>

Amazon ECR 풀스루 캐시 매핑 기능을 사용하는 경우 기본 매핑을 재정의할 수 있습니다. 컨테이너 설정 파라미터에 대한 자세한 내용은 섹션을 참조하세요[프라이빗 워크플로용 컨테이너 이미지](workflows-ecr.md).

다음 예제에서 파일에는이 콘텐츠가 `mappings.json` 포함되어 있습니다.

```
{
    "registryMappings": [
        {
            "upstreamRegistryUrl": "registry-1.docker.io",
            "ecrRepositoryPrefix": "docker-hub"
        },
        {
            "upstreamRegistryUrl": "quay.io",
            "ecrRepositoryPrefix": "quay",
            "accountId": "123412341234"
        },
        {

            "upstreamRegistryUrl": "public.ecr.aws",
            "ecrRepositoryPrefix": "ecr-public"
        }
    ],
    "imageMappings": [{
            "sourceImage": "docker.io/library/ubuntu:latest",
            "destinationImage": "healthomics-docker-2/custom/ubuntu:latest",
            "accountId": "123412341234"
        },
        {
            "sourceImage": "nvcr.io/nvidia/k8s/dcgm-exporter",
            "destinationImage": "healthomics-nvidia/k8s/dcgm-exporter"
        }
    ]
}
```

create-workflow 명령에서 매핑 파라미터를 지정합니다.

```
aws omics create-workflow  \
     ...
--container-registry-map-file file://mappings.json
    ...
```

매핑 파라미터 파일의 S3 위치를 지정할 수도 있습니다.

```
aws omics create-workflow  \
     ...
--container-registry-map-uri s3://amzn-s3-demo-bucket1/test.zip
    ...
```

## SDK를 사용하여 워크플로 생성
<a name="sdk-create-workflows"></a>

SDKs. 다음 예제에서는 Python SDK를 사용하여 워크플로를 생성하는 방법을 보여줍니다.

```
import boto3

omics = boto3.client('omics')

with open('definition.zip', 'rb') as f:
   definition = f.read()

response = omics.create_workflow(
   name='my_workflow',
   definitionZip=definition,
   parameterTemplate={ ... }
)
```

# 프라이빗 워크플로 업데이트
<a name="update-private-workflow"></a>

HealthOmics 콘솔, AWS CLI 명령 또는 AWS SDKs.

**참고**  
워크플로 이름에 개인 식별 정보(PII)를 포함하지 마세요. 이러한 이름은 CloudWatch 로그에 표시됩니다.

**Topics**
+ [콘솔을 사용하여 워크플로 업데이트](#console-update-workflows)
+ [CLI를 사용하여 워크플로 업데이트](#api-update-workflows)
+ [SDK를 사용하여 워크플로 업데이트](#sdk-update-workflows)

## 콘솔을 사용하여 워크플로 업데이트
<a name="console-update-workflows"></a>

**워크플로를 업데이트하는 단계**

1. [HealthOmics 콘솔](https://console.aws.amazon.com/omics/)을 엽니다.

1.  필요한 경우 왼쪽 탐색 창(™)을 엽니다. **프라이빗 워크플로**를 선택합니다.

1. **프라이빗 워크플로** 페이지에서 업데이트할 워크플로를 선택합니다.

1. **워크플로** 페이지에서:
   + 워크플로에 버전이 있는 경우 **기본 버전을** 선택해야 합니다.
   + **작업** 목록에서 **선택한 편집**을 선택합니다.

1. **워크플로 편집** 페이지에서 다음 값 중 하나를 변경할 수 있습니다.
   + **워크플로 이름**입니다.
   + **워크플로 설명**.
   + 워크플로의 기본 **실행 스토리지 유형**입니다.
   + 기본 **실행 스토리지 용량**(실행 스토리지 유형이 정적 스토리지인 경우). 기본 실행 스토리지 구성에 대한 자세한 내용은 섹션을 참조하세요[콘솔을 사용하여 워크플로 생성](create-private-workflow.md#console-create-workflows).

1. **변경 사항 저장**을 선택하여 변경 사항을 적용합니다.

## CLI를 사용하여 워크플로 업데이트
<a name="api-update-workflows"></a>

다음 예제와 같이 워크플로 이름과 설명을 업데이트할 수 있습니다. 기본 실행 스토리지 유형(STATIC 또는 DYNAMIC)과 실행 스토리지 용량(정적 스토리지 유형의 경우)을 변경할 수도 있습니다. 실행 스토리지 유형에 대한 자세한 내용은 섹션을 참조하세요[HealthOmics 워크플로에서 스토리지 유형 실행](workflows-run-types.md).

```
aws omics update-workflow    \
  --id 1234567    \
  --name my_workflow      \
  --description "updated workflow"    \
  --storage-type 'STATIC'    \
  --storage-capacity 1200
```

`update-workflow` 요청에 대한 응답을 받지 못합니다.

## SDK를 사용하여 워크플로 업데이트
<a name="sdk-update-workflows"></a>

SDKs.

다음 예제에서는 Python SDK를 사용하여 워크플로를 업데이트하는 방법을 보여줍니다.

```
import boto3

omics = boto3.client('omics')

response = omics.update_workflow(
   name='my_workflow',
   description='updated workflow'
)
```

# 프라이빗 워크플로 삭제
<a name="delete-private-workflow"></a>

워크플로가 더 이상 필요하지 않은 경우 HealthOmics 콘솔, AWS CLI 명령 또는 AWS SDKs. 다음 기준을 충족하는 워크플로를 삭제할 수 있습니다.
+ 상태는 ACTIVE 또는 FAILED입니다.
+ 활성 공유가 없습니다.
+ 모든 워크플로 버전을 삭제했습니다.

워크플로를 삭제해도 워크플로를 사용하는 진행 중인 실행에는 영향을 주지 않습니다.

**Topics**
+ [콘솔을 사용하여 워크플로 삭제](#console-delete-workflows)
+ [CLI를 사용하여 워크플로 삭제](#api-delete-workflows)
+ [SDK를 사용하여 워크플로 삭제](#sdk-delete-workflows)

## 콘솔을 사용하여 워크플로 삭제
<a name="console-delete-workflows"></a>

**워크플로 삭제**

1. [HealthOmics 콘솔](https://console.aws.amazon.com/omics/)을 엽니다.

1.  필요한 경우 왼쪽 탐색 창(™)을 엽니다. **프라이빗 워크플로**를 선택합니다.

1. **프라이빗 워크플로** 페이지에서 삭제할 워크플로를 선택합니다.

1. **워크플로** 페이지의 **작업** 목록에서 **선택한 삭제**를 선택합니다.

1. **워크플로 삭제** 모달에 "확인"을 입력하여 삭제를 확인합니다.

1. **삭제**를 선택합니다.

## CLI를 사용하여 워크플로 삭제
<a name="api-delete-workflows"></a>

다음 예제에서는 AWS CLI 명령을 사용하여 워크플로를 삭제하는 방법을 보여줍니다. 예제를 실행하려면를 삭제하려는 워크플로의 ID`workflow id`로 바꿉니다.

```
aws omics delete-workflow 
  --id workflow id
```

HealthOmics는 `delete-workflow` 요청에 대한 응답을 보내지 않습니다.

## SDK를 사용하여 워크플로 삭제
<a name="sdk-delete-workflows"></a>

SDKs.

다음 예제에서는 Python SDK를 사용하여 워크플로를 삭제하는 방법을 보여줍니다.

```
import boto3

omics = boto3.client('omics')

response = omics.delete_workflow(
   id='1234567'
)
```

# 워크플로 상태 확인
<a name="using-get-workflow"></a>

워크플로를 생성한 후 다음과 같이 **get-workflow**를 사용하여 워크플로의 상태를 확인하고 다른 세부 정보를 볼 수 있습니다.

```
aws omics get-workflow --id 1234567 
```

응답에는 다음과 같이 상태를 포함한 워크플로 세부 정보가 포함됩니다.

```
{
    "arn": "arn:aws:omics:us-west-2:....",
    "creationTime": "2022-07-06T00:27:05.542459" 
    "id": "1234567",
    "engine": "WDL",
    "status": "ACTIVE",
    "type": "PRIVATE",
    "main": "workflow-crambam.wdl",
    "name": "workflow_name",
    "storageType": "STATIC",
    "storageCapacity": "1200",
    "uuid": "64c9a39e-8302-cc45-0262-2ea7116d854f"   
  }
```

상태가 로 전환된 후이 워크플로를 사용하여 실행을 시작할 수 있습니다`ACTIVE`.

# 워크플로 정의에서 게놈 파일 참조
<a name="create-ref-files"></a>

HealthOmics 참조 스토어 객체는 다음과 같은 URI를 사용하여 참조할 수 있습니다. 필요한 `reference ID` 경우 자체 `reference store ID`, 및 `account ID`를 사용합니다.

```
omics://account ID.storage.us-west-2.amazonaws.com/reference store id/reference/id            
```

일부 워크플로에는 참조 유전체에 대한 `SOURCE` 및 `INDEX` 파일이 모두 필요합니다. 이전 URI는 기본 짧은 양식이며 기본적으로 SOURCE 파일로 설정됩니다. 두 파일 중 하나를 지정하려면 다음과 같이 긴 URI 양식을 사용할 수 있습니다.

```
omics://account ID.storage.us-west-2.amazonaws.com/reference store id/reference/id/source
omics://account ID.storage.us-west-2.amazonaws.com/reference store id/reference/id/index
```

시퀀스 읽기 세트를 사용하면 다음과 같이 유사한 패턴을 갖게 됩니다.

```
aws omics create-workflow \
     --name workflow name \
     --main sample workflow.wdl \
     --definition-uri omics://account ID.storage.us-west-2.amazonaws.com/sequence_store_id/readSet/id \
     --parameter-template file://parameters_sample_description.json
```

FASTQ 기반 읽기 세트와 같은 일부 읽기 세트에는 페어링된 읽기가 포함될 수 있습니다. 다음 예제에서는 이를 SOURCE1 및 SOURCE2라고 합니다. BAM 및 CRAM과 같은 형식에는 SOURCE1 파일만 있습니다. 일부 읽기 세트에는 `bai` 또는 파일과 같은 INDEX `crai` 파일이 포함됩니다. 위의 URI는 기본 짧은 양식이며 SOURCE1 파일로 기본 설정됩니다. 다음과 같이 긴 URI 양식을 사용하여 정확한 파일 또는 인덱스를 지정할 수 있습니다.

```
omics://123456789012.storage.us-west-2.amazonaws.com/<sequence_store_id>/readSet/<id>/source1
omics://123456789012.storage.us-west-2.amazonaws.com/<sequence_store_id>/readSet/<id>/source2
omics://123456789012.storage.us-west-2.amazonaws.com/<sequence_store_id>/readSet/<id>/index
```

다음은 두 개의 Omics Storage URIs.

```
{
   "input_fasta": "omics://123456789012.storage.us-west-2.amazonaws.com/<reference_store_id>/reference/<id>",
   "input_cram": "omics://123456789012.storage.us-west-2.amazonaws.com/<sequence_store_id>/readSet/<id>"
}
```

**시작 실행** 요청에를 AWS CLI 추가하여의 입력 JSON 파일을 참조`--inputs file://<input_file.json>`합니다.