

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Imballa e fornisci un HealthOmics definizione del flusso di lavoro
<a name="workflow-defn-packaging"></a>

Quando crei un flusso di lavoro o una versione del flusso di lavoro, fornisci la definizione da una sola fonte: un archivio ZIP che invii con la richiesta, un archivio ZIP in Amazon S3 o un Git-based repository. Una richiesta che include più di una fonte di definizione ha esito negativo. I parametri in questo argomento si applicano sia a `CreateWorkflow` e `CreateWorkflowVersion` operazioni. Per le procedure complete, vedere [Crea un flusso di lavoro privato](create-private-workflow.md) e [Crea una versione del flusso di lavoro](workflows-version-create.md).

**Nota**  
HealthOmics aggiunge alcune definizioni del flusso di lavoro quando si crea un flusso di lavoro. Per sapere quali motori sono collegati, se i risultati bloccano il flusso di lavoro e come leggerli, vedi [Il flusso di lavoro si interrompe HealthOmics](workflows-linter.md).

## Scegli una fonte di definizione del flusso di lavoro
<a name="workflow-defn-source-selection"></a>


| Usa questa fonte | Parametro API | Dimensione massima | AWS CLI contrassegnare | 
| --- | --- | --- | --- | 
| Un archivio ZIP sul tuo computer locale. | definitionZip | 4,4 MB | --definition-zip fileb://my-definition.zip | 
| Un archivio ZIP in un bucket Amazon S3. Il bucket deve essere nello stesso AWS Regione come flusso di lavoro. | definitionUri | 100 MB | --definition-uri s3://amzn-s3-demo-bucket1/my-definition.zip | 
| A: supportata Git-based repository, tramite un AWS CodeConnections connessione. | definitionRepository | 1 archivio GiB, 100 MiB per file | --definition-repository con un valore JSON | 

Ulteriori considerazioni:
+ Queste quote dimensionali non possono essere aumentate. Per ulteriori informazioni, consulta [HealthOmics quote a dimensione fissa del flusso di lavoro](fixed-quotas.md#fixed-quotas-workflows).
+ Se il tuo account non possiede il bucket Amazon S3 che contiene la definizione, fornisci quella del proprietario del bucket Account AWS ID in `workflowBucketOwnerId` (`--workflow-bucket-owner-id`).
+ Con `definitionRepository`, HealthOmics legge i file di definizione dal repository e `main`, `parameterTemplatePath`, e `readmePath` sono percorsi all'interno del repository anziché all'interno di un archivio. Per ulteriori informazioni su `definitionRepository` campi, vedere [Usa la definizione del flusso di lavoro da un Git-based magazzino](create-private-workflow.md#create-defn-uri-git). Per ulteriori informazioni sulla configurazione della connessione e sui provider supportati, vedere [HealthOmics integrazione del flusso di lavoro con repository basati su Git](workflows-git-integration.md).

## Layout dell'archivio ZIP e file di definizione principale
<a name="workflow-defn-zip-layout"></a>

Includi tutti i file importati dalla definizione principale, ad esempio i flussi di lavoro secondari, `nextflow.config`e qualsiasi `bin` script.

Un file di definizione è un file la cui estensione corrisponde a un motore supportato, ad esempio `.wdl`, `.nf`, o `.cwl`. Se ometti `main`, HealthOmics lo sceglie tra i file di definizione più vicini alla radice dell'archivio. Ignora i file e le cartelle nascosti e ignora i file di definizione presenti più in profondità nell'archivio. La selezione automatica richiede anche un unico motore, perché l'archivio contiene i file di definizione di un motore o perché impostati `engine`. Dei file al livello più vicino:
+ Se esiste esattamente un file di definizione, HealthOmics lo usa, qualunque sia il suo nome.
+ Se ce ne sono diversi, HealthOmics usa quello denominato `main.wdl`, `main.nf`, o `main.cwl`.

In due casi HealthOmics impossibile risolvere l'archivio. La richiesta stessa ha esito positivo e il flusso di lavoro o la versione del flusso di lavoro inizia nel `CREATING`, ma poi passa a `FAILED`e il messaggio di stato ne indica il motivo:
+ `Zip file contains multiple workflow definition types` — l'archivio contiene i file di definizione per più di un motore e tu non li hai impostati `engine`. Questo vale indipendentemente dal fatto che tu abbia impostato o meno `main`. Impostare `engine`o rimuovi i file dell'altro motore. HealthOmics riporta questo motivo per primo quando si applicano entrambi i casi.
+ `Zip file contains multiple top-level workflow definition files` — hai omesso `main`, diversi file di definizione si trovano al livello più vicino e non esattamente uno di essi è denominato `main.wdl`, `main.nf`, o `main.cwl`. Impostare `main` sul percorso di quello che desideri.

Per scegliere tu stesso il file di definizione principale, imposta `main` (`--main`) al suo percorso, relativo alla radice dell'archivio. Il percorso può contenere fino a 128 caratteri.

Ad esempio, per un archivio il cui file di definizione principale è `workflow-definition/main-file.wdl`:

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

Impostare `engine` (`--engine`) per assegnare un nome personalizzato al motore, per risolvere un archivio che contiene più di un file di definizione del motore o per utilizzare il motore WDL lenient.

Considerate una cartella del flusso di lavoro sul computer locale con il seguente layout:

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

Crea l'archivio dall'interno di quella cartella, in modo che `main.wdl` e il `tasks` la cartella si trova alla radice dell'archivio. Il comando seguente aggiunge anche file e cartelle nascosti, ad esempio `.git` cartella in un repository clonato. Questi vengono conteggiati ai fini della dimensione della definizione, quindi escludi quelli che non ti servono, ad esempio, con `-x '.*' -x '*/.*'`:

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

`main.wdl` è ora l'unico file di definizione nella radice dell'archivio, quindi puoi ometterlo `main`:

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

## Invia l'archivio in linea o tramite Amazon S3
<a name="workflow-defn-zip-handoff"></a>

`definitionZip` è un parametro binario. Quando si utilizza il AWS CLI, passa l'archivio con il `fileb://` prefisso e il AWS CLI legge il file e lo codifica per te. Il AWS Gli SDK eseguono la codifica per te. Se chiami l'API direttamente tramite HTTP, invia l'archivio come stringa con codifica base64.

Il modello di parametro negli esempi seguenti è facoltativo. Se lo ometti, HealthOmics ricava i parametri di esecuzione dalla definizione del flusso di lavoro. Per ulteriori informazioni, consulta [File modello di parametri per i flussi HealthOmics di lavoro](parameter-templates.md).

Quanto segue AWS CLI L'esempio crea un flusso di lavoro inviando l'archivio ZIP con la richiesta. Sostituisci ogni valore in corsivo:

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

Per un archivio più grande di `definitionZip` limite in [Scegli una fonte di definizione del flusso di lavoro](#workflow-defn-source-selection), caricalo in un bucket Amazon S3 nella stessa regione del flusso di lavoro e utilizzalo `definitionUri` invece. Sostituisci ogni valore in corsivo e sostituisci il bucket con il tuo:

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

## Imposta lo spazio di archiviazione predefinito per le esecuzioni
<a name="workflow-defn-storage-pairing"></a>

Consigliamo l'archiviazione a esecuzione dinamica per la maggior parte dei flussi di lavoro. Scegli l'archiviazione a esecuzione statica in uno di questi casi:
+ Il flusso di lavoro utilizza più di 9,6 TiB di dati e le sue attività beneficiano di un elevato livello di supporto I/O.
+ Più di 100 attività sparse lette contemporaneamente dallo storage condiviso.

Per ulteriori informazioni su ciascun tipo di storage in esecuzione, incluse le caratteristiche di throughput e su come dimensionare lo storage statico in esecuzione, consulta [Esegui tipi di storage nei flussi HealthOmics di lavoro](workflows-run-types.md) e [Esegui l'ottimizzazione per un privato HealthOmics flusso di lavoro](workflows-run-optimize.md).

Il `storageType` (`--storage-type`) e `storageCapacity` (`--storage-capacity`i parametri impostano i valori predefiniti per le esecuzioni che utilizzano il flusso di lavoro. È possibile sovrascrivere entrambi in fase di esecuzione, come descritto in [Inizia un run in HealthOmics](starting-a-run.md). Abbinali come segue:
+ `storageType` di `DYNAMIC` — HealthOmics aumenta e riduce lo storage di esecuzione in base all'utilizzo del file system. Non impostare `storageCapacity`. In tal caso, la richiesta ha esito negativo: `CreateWorkflow` resoconti `You cannot set the storage capacity for workflows that use DYNAMIC run storage type`e `CreateWorkflowVersion` resoconti `You cannot set the storage capacity for workflow version that use DYNAMIC run storage type`.
+ `storageType` di `STATIC` — HealthOmics assegna una quantità fissa di spazio di archiviazione in esecuzione, quindi imposta anche `storageCapacity`, in GiB. Se né il flusso di lavoro né l'esecuzione specificano una capacità, l'esecuzione utilizza 1.200 GiB. Il limite massimo è un limite per account. HealthOmics esegue il provisioning dello storage statico solo come 1.200 GiB o come multiplo di 2.400 GiB e arrotonda qualsiasi altro valore alla dimensione successiva supportata. Ad esempio, HealthOmics fornisce 1.200 GiB per una capacità inferiore a 1.200 GiB.

L'esempio seguente imposta lo storage di esecuzione predefinito su 1.200 GiB di storage statico:

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