

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

# Paket dan suplai a HealthOmics definisi alur kerja
<a name="workflow-defn-packaging"></a>

Saat Anda membuat alur kerja atau versi alur kerja, Anda memberikan definisi dari tepat satu sumber: arsip ZIP yang Anda kirim dengan permintaan, arsip ZIP di Amazon S3, atau Git-based repositori. Permintaan yang menyertakan lebih dari satu sumber definisi gagal. Parameter dalam topik ini berlaku untuk kedua `CreateWorkflow` dan `CreateWorkflowVersion` operasi. Untuk prosedur lengkapnya, lihat [Buat alur kerja pribadi](create-private-workflow.md) dan [Buat versi alur kerja](workflows-version-create.md).

**catatan**  
HealthOmics menghapus beberapa definisi alur kerja saat Anda membuat alur kerja. Untuk mesin mana yang diberi linting, apakah temuan memblokir alur kerja, dan cara membacanya, lihat [Pengaruh alur kerja di HealthOmics](workflows-linter.md).

## Memilih sumber definisi alur kerja
<a name="workflow-defn-source-selection"></a>


| Gunakan sumber ini | Parameter API | Ukuran maksimum | AWS CLI bendera | 
| --- | --- | --- | --- | 
| Arsip ZIP di mesin lokal Anda. | definitionZip | 4,4 MB | --definition-zip fileb://my-definition.zip | 
| Arsip ZIP dalam bucket Amazon S3. Ember harus sama AWS Wilayah sebagai alur kerja. | definitionUri | 100 MB | --definition-uri s3://amzn-s3-demo-bucket1/my-definition.zip | 
| A didukung Git-based repositori, melalui AWS CodeConnections koneksi. | definitionRepository | 1 GiB repositori, 100 MiB per file | --definition-repository dengan nilai JSON | 

Pertimbangan tambahan:
+ Kuota ukuran ini tidak dapat ditingkatkan. Untuk informasi selengkapnya, lihat [HealthOmics kuota ukuran tetap alur kerja](fixed-quotas.md#fixed-quotas-workflows).
+ Jika akun Anda tidak memiliki bucket Amazon S3 yang menyimpan definisi tersebut, berikan bucket pemilik Akun AWS ID masuk `workflowBucketOwnerId` (`--workflow-bucket-owner-id`).
+ Dengan `definitionRepository`, HealthOmics membaca file definisi dari repositori, dan `main`, `parameterTemplatePath`, dan `readmePath` adalah jalur di dalam repositori daripada di dalam arsip. Untuk informasi lebih lanjut tentang `definitionRepository` bidang, lihat [Gunakan definisi alur kerja dari Git-based repositori](create-private-workflow.md#create-defn-uri-git). Untuk informasi selengkapnya tentang pengaturan koneksi dan penyedia yang didukung, lihat [HealthOmics integrasi alur kerja dengan repositori berbasis Git](workflows-git-integration.md).

## Tata letak arsip ZIP dan file definisi utama
<a name="workflow-defn-zip-layout"></a>

Sertakan setiap file yang diimpor definisi utama, seperti subalur kerja, `nextflow.config`, dan apapun `bin` skrip.

File definisi adalah file yang ekstensinya cocok dengan mesin yang didukung, seperti `.wdl`, `.nf`, atau `.cwl`. Jika Anda menghilangkan `main`, HealthOmics memilihnya dari file definisi yang berada paling dekat dengan root arsip. Ini mengabaikan file dan folder tersembunyi, dan mengabaikan file definisi yang lebih dalam di arsip. Pemilihan otomatis juga membutuhkan satu mesin, baik karena arsip menyimpan file definisi satu mesin atau karena Anda mengatur `engine`. Dari file di level terdekat:
+ Jika ada tepat satu file definisi, HealthOmics menggunakannya, apa pun namanya.
+ Jika ada beberapa, HealthOmics menggunakan yang bernama `main.wdl`, `main.nf`, atau `main.cwl`.

Dalam dua kasus HealthOmics tidak dapat menyelesaikan arsip. Permintaan itu sendiri berhasil dan alur kerja atau versi alur kerja dimulai `CREATING`, tetapi kemudian pindah ke `FAILED`, dan pesan statusnya memberikan alasannya:
+ `Zip file contains multiple workflow definition types` — arsip menyimpan file definisi untuk lebih dari satu mesin dan Anda tidak menyetel `engine`. Ini berlaku apakah Anda mengatur atau tidak `main`. Mengatur `engine`, atau menghapus file mesin lain. HealthOmics melaporkan alasan ini terlebih dahulu ketika kedua kasus berlaku.
+ `Zip file contains multiple top-level workflow definition files` — Anda dihilangkan `main`, beberapa file definisi berada di level terdekat, dan tidak salah satu dari mereka diberi nama `main.wdl`, `main.nf`, atau `main.cwl`. Mengatur `main` ke jalan yang Anda inginkan.

Untuk memilih sendiri file definisi utama, atur `main` (`--main`) ke jalurnya, relatif terhadap akar arsip. Jalur dapat mencapai 128 karakter.

Misalnya, untuk arsip yang file definisi utamanya adalah `workflow-definition/main-file.wdl`:

```
--main workflow-definition/main-file.wdl
```

Mengatur `engine` (`--engine`) untuk memberi nama mesin sendiri, baik untuk menyelesaikan arsip yang menyimpan lebih dari satu file definisi mesin atau untuk menggunakan mesin lunak WDL.

Pertimbangkan folder alur kerja di mesin lokal Anda dengan tata letak berikut:

```
my-workflow/
    main.wdl
    tasks/align.wdl
    tasks/call-variants.wdl
```

Buat arsip dari dalam folder itu, sehingga `main.wdl` dan `tasks` folder berada di akar arsip. Perintah berikut juga menambahkan file dan folder tersembunyi, seperti `.git` folder dalam repositori kloning. Ini dihitung terhadap ukuran definisi, jadi kecualikan yang tidak Anda butuhkan, misalnya, dengan `-x '.*' -x '*/.*'`:

```
cd my-workflow
zip -r ../my-definition.zip .
cd ..
```

`main.wdl` sekarang adalah satu-satunya file definisi di root arsip, sehingga Anda dapat menghilangkan `main`:

```
main.wdl
tasks/align.wdl
tasks/call-variants.wdl
```

## Kirim arsip secara inline atau melalui Amazon S3
<a name="workflow-defn-zip-handoff"></a>

`definitionZip` adalah parameter biner. Saat Anda menggunakan AWS CLI, lewati arsip dengan `fileb://` awalan dan AWS CLI membaca file dan mengkodekannya untuk Anda. The AWS SDK melakukan pengkodean untuk Anda. Jika Anda memanggil API langsung melalui HTTP, kirim arsip sebagai string yang dikodekan base64.

Template parameter dalam contoh berikut adalah opsional. Jika Anda menghilangkannya, HealthOmics memperoleh parameter run dari definisi alur kerja Anda. Untuk informasi selengkapnya, lihat [File template parameter untuk HealthOmics alur kerja](parameter-templates.md).

Berikut ini AWS CLI contoh membuat alur kerja dengan mengirimkan arsip ZIP dengan permintaan. Ganti setiap nilai dengan huruf miring:

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

Untuk arsip yang lebih besar dari `definitionZip` batas dalam [Memilih sumber definisi alur kerja](#workflow-defn-source-selection), unggah ke bucket Amazon S3 di Wilayah yang sama dengan alur kerja dan gunakan `definitionUri` sebagai gantinya. Ganti setiap nilai dengan huruf miring, dan ganti bucket dengan milik Anda sendiri:

```
aws s3 cp {{my-definition.zip}} s3://amzn-s3-demo-bucket1/my-definition.zip

aws omics create-workflow \
  --name {{my-workflow-name}} \
  --definition-uri s3://amzn-s3-demo-bucket1/my-definition.zip \
  --parameter-template file://{{my-parameter-template.json}}
```

## Mengatur penyimpanan berjalan default
<a name="workflow-defn-storage-pairing"></a>

Sebaiknya jalankan penyimpanan dinamis untuk sebagian besar alur kerja. Pilih penyimpanan run statis dalam salah satu kasus berikut:
+ Alur kerja menggunakan lebih dari 9,6 TiB data, dan tugasnya mendapat manfaat dari keberlanjutan tinggi I/O.
+ Lebih dari 100 tugas yang tersebar dibaca dari penyimpanan run bersama sekaligus.

Untuk informasi selengkapnya tentang setiap jenis penyimpanan yang dijalankan, termasuk karakteristik throughput dan cara mengukur penyimpanan yang dijalankan secara statis, lihat [Jalankan jenis penyimpanan dalam HealthOmics alur kerja](workflows-run-types.md) dan [Jalankan pengoptimalan untuk pribadi HealthOmics alur kerja](workflows-run-optimize.md).

 `storageType` (`--storage-type`) dan `storageCapacity` (`--storage-capacity`) parameter mengatur default untuk proses yang menggunakan alur kerja. Anda dapat mengganti keduanya pada waktu berjalan, seperti yang dijelaskan dalam [Mulai lari HealthOmics](starting-a-run.md). Pasangkan mereka sebagai berikut:
+ `storageType` dari `DYNAMIC` -- HealthOmics menskalakan penyimpanan yang dijalankan naik dan turun berdasarkan pemanfaatan sistem file. Jangan mengatur `storageCapacity`. Jika Anda melakukannya, permintaan gagal: `CreateWorkflow` melaporkan `You cannot set the storage capacity for workflows that use DYNAMIC run storage type`, dan `CreateWorkflowVersion` melaporkan `You cannot set the storage capacity for workflow version that use DYNAMIC run storage type`.
+ `storageType` dari `STATIC` -- HealthOmics mengalokasikan jumlah penyimpanan run yang tetap, jadi juga mengatur `storageCapacity`, dalam GiB. Jika alur kerja maupun proses tidak menentukan kapasitas, proses tersebut menggunakan 1.200 GiB. Maksimum adalah batas per akun. HealthOmics menyediakan penyimpanan run statis hanya sebagai 1.200 GiB atau sebagai kelipatan 2.400 GiB, dan membulatkan nilai lainnya hingga ukuran yang didukung berikutnya. Sebagai contoh, HealthOmics menyediakan 1.200 GiB untuk kapasitas di bawah 1.200 GiB.

Contoh berikut menetapkan default run storage menjadi 1.200 GiB penyimpanan statis:

```
aws omics create-workflow \
  --name {{my-workflow-name}} \
  --definition-zip fileb://{{my-definition.zip}} \
  --storage-type STATIC \
  --storage-capacity 1200
```