

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Buat alur kerja pribadi
<a name="create-private-workflow"></a>

Buat alur kerja menggunakan HealthOmics konsol, perintah AWS CLI, atau salah satu. AWS SDKs

**catatan**  
Jangan sertakan informasi identitas pribadi (PII) apa pun dalam nama alur kerja. Nama-nama ini terlihat di CloudWatch log.

Saat Anda membuat alur kerja, HealthOmics tetapkan pengenal unik universal (UUID) ke alur kerja. UUID alur kerja adalah Pengenal Unik Global (panduan) yang unik di seluruh alur kerja dan versi alur kerja. Untuk tujuan asal data, kami menyarankan Anda menggunakan UUID alur kerja untuk mengidentifikasi alur kerja secara unik.

Jika tugas alur kerja Anda menggunakan alat eksternal (executable, pustaka, atau skrip), Anda membuat alat ini menjadi gambar kontainer. Anda memiliki opsi berikut untuk menghosting gambar kontainer:
+ Host gambar kontainer di registri pribadi ECR. Prasyarat untuk opsi ini:
  + Buat repositori pribadi ECR, atau pilih repositori yang ada.
  + Konfigurasikan kebijakan sumber daya ECR seperti yang dijelaskan dalam[Izin Amazon ECR](permissions-ecr.md).
  + Unggah gambar kontainer Anda ke repositori pribadi. 
+ Sinkronkan gambar kontainer dengan konten registri pihak ketiga yang didukung. Prasyarat untuk opsi ini:
  + Dalam registri pribadi ECR, konfigurasikan aturan pull through cache untuk setiap registri upstream. Untuk informasi selengkapnya, lihat [Pemetaan gambar](workflows-ecr.md#ecr-pull-through-mapping-format).
  + Konfigurasikan kebijakan sumber daya ECR seperti yang dijelaskan dalam[Izin Amazon ECR](permissions-ecr.md).
  + Buat template pembuatan repositori. Template menentukan pengaturan saat Amazon ECR membuat repositori pribadi untuk registri upstream.
  + Buat pemetaan awalan untuk memetakan ulang referensi gambar kontainer dalam definisi alur kerja ke ruang nama cache ECR.

Saat membuat alur kerja, Anda memberikan definisi alur kerja yang berisi informasi tentang alur kerja, proses, dan tugas. HealthOmics dapat mengambil definisi alur kerja sebagai arsip.zip yang disimpan secara lokal atau di bucket Amazon S3, atau dari repositori berbasis Git yang didukung. 

**Topics**
+ [Membuat alur kerja menggunakan konsol](#console-create-workflows)
+ [Membuat alur kerja menggunakan CLI](#api-create-workflows)
+ [Membuat alur kerja menggunakan SDK](#sdk-create-workflows)

## Membuat alur kerja menggunakan konsol
<a name="console-create-workflows"></a>

**Langkah-langkah untuk membuat alur kerja**

1. Buka [konsol HealthOmics ](https://console.aws.amazon.com/omics/).

1.  Jika diperlukan, buka panel navigasi kiri (≡). Pilih **Alur kerja pribadi**.

1. Pada halaman **alur kerja pribadi**, pilih **Buat alur kerja**.

1. Pada halaman **Tentukan alur kerja**, berikan informasi berikut:

   1. **Nama alur kerja: Nama** khas untuk alur kerja ini. Sebaiknya setel nama alur kerja untuk mengatur proses Anda di AWS HealthOmics konsol dan CloudWatch log.

   1. **Deskripsi** (opsional): Deskripsi alur kerja ini.

1. Di panel **definisi Alur Kerja**, berikan informasi berikut:

   1. **Bahasa alur kerja** (opsional): Pilih bahasa spesifikasi alur kerja. Jika tidak, HealthOmics tentukan bahasa dari definisi alur kerja.

   1. Untuk **sumber definisi Alur Kerja**, pilih untuk mengimpor folder definisi dari repositori berbasis Git, lokasi Amazon S3, atau dari drive lokal.

      1. Untuk **Impor dari layanan repositori**:
**catatan**  
HealthOmics mendukung repositori publik dan pribadi untukGitHub,,, GitLabBitbucket,GitHub self-managed. GitLab self-managed

         1. Pilih **Koneksi** untuk menghubungkan AWS sumber daya Anda ke repositori eksternal. Untuk membuat koneksi, lihat[Connect dengan repositori kode eksternal](setting-up-new.md#setting-up-omics-repository).
**catatan**  
Pelanggan di TLV wilayah tersebut perlu membuat koneksi di wilayah IAD (us-east-1) untuk membuat alur kerja. 

         1. Dalam ID **repositori lengkap, masukkan ID repositori** Anda sebagai nama pengguna/repo-nama. Verifikasi bahwa Anda memiliki akses ke file di repositori ini.

         1. Dalam **referensi Sumber** (opsional), masukkan referensi sumber repositori (cabang, tag, atau ID komit). HealthOmics menggunakan cabang default jika tidak ada referensi sumber yang ditentukan.

         1. Di **Kecualikan pola file**, masukkan pola file untuk mengecualikan folder, file, atau ekstensi tertentu. Ini membantu mengelola ukuran data saat mengimpor file repositori. Ada maksimal 50 pola, dan pola harus mengikuti sintaks [pola glob](https://fossil-scm.org/home/doc/tip/www/globs.md). Contoh: 

            1. `tests/`

            1. `*.jpeg`

            1. `large_data.zip`

      1. Untuk **Pilih folder definisi dari S3**:

         1. Masukkan lokasi Amazon S3 yang berisi folder definisi alur kerja zip. Bucket Amazon S3 harus berada di wilayah yang sama dengan alur kerja.

         1. Jika akun Anda tidak memiliki bucket Amazon S3, masukkan ID akun pemilik bucket di ID AWS akun **pemilik bucket S3**. Informasi ini diperlukan agar HealthOmics dapat memverifikasi kepemilikan bucket.

      1. Untuk **Pilih folder definisi dari sumber lokal**:

         1. Masukkan lokasi drive lokal dari folder definisi alur kerja zip.

   1. **Jalur file definisi alur kerja utama** (opsional): Masukkan jalur file dari folder definisi alur kerja zip atau repositori ke file. `main` Parameter ini tidak diperlukan jika hanya ada satu file di folder definisi alur kerja, atau jika file utama diberi nama “main”.

1. Di panel **file README** (opsional), pilih **Sumber file README** dan berikan informasi berikut:
   + Untuk **Impor dari layanan repositori**, di **jalur file README, masukkan path** ke file README dalam repositori.
   + Untuk **Pilih file dari S3**, dalam **file README di S3**, masukkan URI Amazon S3 untuk file README.
   + Untuk **Pilih file dari sumber lokal**: di **README - opsional**, **pilih Pilih file untuk memilih file** penurunan harga (.md) yang akan diunggah.

1. Di panel **konfigurasi penyimpanan run default**, berikan tipe penyimpanan run default dan kapasitas untuk menjalankan yang menggunakan alur kerja ini:

   1. **Jalankan jenis penyimpanan**: Pilih apakah akan menggunakan penyimpanan statis atau dinamis sebagai default untuk penyimpanan berjalan sementara. Defaultnya adalah penyimpanan statis.

   1. **Jalankan kapasitas penyimpanan** (opsional): Untuk jenis penyimpanan run statis, Anda dapat memasukkan jumlah default penyimpanan run yang diperlukan untuk alur kerja ini. Nilai default untuk parameter ini adalah 1200 GiB. Anda dapat mengganti nilai default ini saat memulai proses.

1. **Tag** (opsional): Anda dapat mengaitkan hingga 50 tag dengan alur kerja ini.

1. Pilih **Berikutnya**.

1. Pada halaman **Tambahkan parameter alur kerja** (opsional), pilih **sumber Parameter:**

   1. Untuk **Parse dari file definisi alur kerja**, secara otomatis HealthOmics akan mengurai parameter alur kerja dari file definisi alur kerja.

   1. Untuk **menyediakan template parameter dari repositori** Git, gunakan path ke file template parameter dari repositori Anda.

   1. Untuk **Pilih file JSON dari sumber lokal**, unggah JSON file dari sumber lokal yang menentukan parameter.

   1. Untuk **Masukkan parameter alur kerja secara** manual, masukkan nama dan deskripsi parameter secara manual.

1. Di panel **pratinjau Parameter**, Anda dapat meninjau atau mengubah parameter untuk versi alur kerja ini. Jika Anda mengembalikan JSON file, Anda kehilangan perubahan lokal yang Anda buat.

1. Pilih **Berikutnya**.

1. Pada halaman **pemetaan ulang URI Container**, di panel **aturan Pemetaan, Anda dapat menentukan aturan** pemetaan URI untuk alur kerja Anda.

   Untuk **Sumber file pemetaan**, pilih salah satu opsi berikut:
   + **Tidak ada** - Tidak ada aturan pemetaan yang diperlukan.
   + **Pilih file JSON dari S3** - Tentukan lokasi S3 untuk file pemetaan. 
   + **Pilih file JSON dari sumber lokal** - Tentukan lokasi file pemetaan di perangkat lokal Anda.
   + **Masukkan pemetaan secara manual** **- masukkan pemetaan registri dan pemetaan gambar di panel Pemetaan.**

1.  Konsol menampilkan panel **Pemetaan.** Jika Anda memilih file sumber pemetaan, konsol menampilkan nilai dari file.

   1. Dalam **pemetaan Registry**, Anda dapat mengedit pemetaan atau menambahkan pemetaan (maksimum 20 pemetaan registri).

      Setiap pemetaan registri berisi bidang-bidang berikut:
      + **URL registri hulu** — URI dari registri hulu.
      + **Awalan repositori ECR - Awalan** repositori untuk digunakan dalam repositori pribadi Amazon ECR.
      + (Opsional) **Awalan repositori hulu - Awalan** repositori di registri hulu.
      + (Opsional) **ID akun ECR** — ID akun akun yang memiliki gambar kontainer hulu.

   1. Dalam **pemetaan Gambar**, Anda dapat mengedit pemetaan gambar atau menambahkan pemetaan (maksimum 100 pemetaan gambar).

      Setiap pemetaan gambar berisi bidang-bidang berikut:
      + **Gambar sumber** - Menentukan URI gambar sumber di registri hulu.
      + **Gambar tujuan** - Menentukan URI gambar yang sesuai di registri ECR Amazon pribadi.

1. Pilih **Berikutnya**.

1. Tinjau konfigurasi alur kerja, lalu pilih **Buat alur kerja**.

## Membuat alur kerja menggunakan CLI
<a name="api-create-workflows"></a>

Jika file alur kerja Anda dan file template parameter ada di mesin lokal Anda, Anda dapat membuat alur kerja menggunakan perintah CLI berikut. 

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

`create-workflow`Operasi mengembalikan respon berikut:

```
{
  "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"
}
```

### Parameter opsional untuk digunakan saat membuat alur kerja
<a name="other-create-parameters"></a>

Anda dapat menentukan salah satu parameter opsional saat membuat alur kerja. Untuk detail sintaks, lihat [CreateWorkflow](https://docs.aws.amazon.com/omics/latest/api/API_CreateWorkflow.html)di AWS HealthOmics API Referensi. 

**Topics**
+ [Tentukan definisi alur kerja lokasi Amazon S3](#create-defn-uri-parameter)
+ [Menggunakan definisi alur kerja dari repositori berbasis Git](#create-defn-uri-git)
+ [Tentukan file Readme](#specify-readme-file)
+ [Tentukan file **main** definisi](#create-main-parameter)
+ [Tentukan jenis penyimpanan run](#create-run-storage-parameter)
+ [Tentukan konfigurasi GPU](#create-accelerator-parameter)
+ [Konfigurasikan parameter pemetaan cache pull through](#create-prefix-mapping-parameters)

#### Tentukan definisi alur kerja lokasi Amazon S3
<a name="create-defn-uri-parameter"></a>

Jika file definisi alur kerja Anda terletak di folder Amazon S3, tentukan lokasi menggunakan parameter, seperti `definition-uri` yang ditunjukkan pada contoh berikut. Jika akun Anda tidak memiliki bucket Amazon S3, berikan ID pemiliknya. Akun AWS 

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

#### Menggunakan definisi alur kerja dari repositori berbasis Git
<a name="create-defn-uri-git"></a>

Untuk menggunakan definisi alur kerja dari repositori berbasis Git yang didukung, gunakan parameter dalam `definition-repository` permintaan Anda. Jangan berikan `definition` parameter lain, karena permintaan gagal jika menyertakan lebih dari satu sumber input.

`definition-respository`Parameter berisi bidang-bidang berikut:
+ **connectionArn**— ARN dari Koneksi Kode yang menghubungkan sumber daya AWS Anda ke repositori eksternal.
+ **fullRepositoryId**— Masukkan ID repositori sebagai. `owner-name/repo-name` Verifikasi bahwa Anda memiliki akses ke file di repositori ini.
+ **sourceReference**(Opsional) — Masukkan tipe referensi repositori (BRANCH, TAG, atau COMMIT) dan nilai.

  HealthOmics menggunakan komit terbaru di cabang default jika Anda tidak menentukan referensi sumber.
+ **excludeFilePatterns**(Opsional) - Masukkan pola file untuk mengecualikan folder, file, atau ekstensi tertentu. Ini membantu mengelola ukuran data saat mengimpor file repositori. Berikan maksimal 50 pola. pola harus mengikuti sintaks pola [glob](https://fossil-scm.org/home/doc/tip/www/globs.md). Contoh:
  + `tests/`
  + `*.jpeg`
  + `large_data.zip`

Saat Anda menentukan definisi alur kerja dari repositori berbasis Git, gunakan `parameter-template-path` untuk menentukan file template parameter. Jika Anda tidak memberikan parameter ini, HealthOmics buat alur kerja tanpa templat parameter.

Contoh berikut menunjukkan parameter yang terkait dengan konten dari repositori pribadi berbasis 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" \
```

Untuk contoh lainnya, lihat posting blog [Cara Membuat HealthOmics Alur Kerja AWS dari Konten di Git](https://repost.aws/articles/ARCEN7AjhaRSmteczRoc_QsA/how-to-create-an-aws-healthomics-workflows-from-content-in-git).

#### Tentukan file Readme
<a name="specify-readme-file"></a>

Anda dapat menentukan lokasi file README menggunakan salah satu parameter berikut:
+ **readme-markdown**— Input string atau file di mesin lokal Anda. 
+ **readme-uri**— URI file yang disimpan di S3. 
+ **readme-path **— Jalur ke file README di repositori. 

**Gunakan readme-path hanya dalam hubungannya dengan definition-respositori.** Jika Anda tidak menentukan parameter README apa pun, HealthOmics impor file README.md tingkat root di repositori (jika ada).

Contoh berikut menunjukkan bagaimana menentukan lokasi file README menggunakan readme-path dan readme-uri.

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

Untuk informasi selengkapnya, lihat [HealthOmics Alur kerja file README](workflows-readme.md).

#### Tentukan file **main** definisi
<a name="create-main-parameter"></a>

Jika Anda menyertakan beberapa file definisi alur kerja, gunakan `main` parameter untuk menentukan file definisi utama untuk alur kerja Anda.

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

#### Tentukan jenis penyimpanan run
<a name="create-run-storage-parameter"></a>

Anda dapat menentukan jenis penyimpanan run default (DYNAMIC atau STATIC) dan menjalankan kapasitas penyimpanan (diperlukan untuk penyimpanan statis). Untuk informasi selengkapnya tentang menjalankan jenis penyimpanan, lihat[Jalankan jenis penyimpanan dalam HealthOmics alur kerja](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  \
```

#### Tentukan konfigurasi GPU
<a name="create-accelerator-parameter"></a>

Gunakan parameter akselerator untuk membuat alur kerja yang berjalan pada instance komputasi yang dipercepat. Contoh berikut menunjukkan bagaimana menggunakan `accelerators` parameter. Anda menentukan konfigurasi GPU dalam definisi alur kerja. Lihat [Instans komputasi yang dipercepat](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
```

#### Konfigurasikan parameter pemetaan cache pull through
<a name="create-prefix-mapping-parameters"></a>

Jika Anda menggunakan fitur pemetaan cache Amazon ECR pull through, Anda dapat mengganti pemetaan default. Untuk informasi selengkapnya tentang parameter penyiapan kontainer, lihat[Gambar kontainer untuk alur kerja pribadi](workflows-ecr.md).

Dalam contoh berikut, file `mappings.json` berisi konten ini:

```
{
    "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"
        }
    ]
}
```

Tentukan parameter pemetaan dalam perintah create-workflow:

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

Anda juga dapat menentukan lokasi S3 dari file parameter pemetaan:

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

## Membuat alur kerja menggunakan SDK
<a name="sdk-create-workflows"></a>

Anda dapat membuat alur kerja menggunakan salah satu. SDKs Contoh berikut menunjukkan cara membuat alur kerja menggunakan 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={ ... }
)
```