

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Crie um fluxo de trabalho privado
<a name="create-private-workflow"></a>

Crie um fluxo de trabalho usando o HealthOmics console, os comandos da AWS CLI ou um dos. AWS SDKs

**nota**  
Não inclua nenhuma informação de identificação pessoal (PII) nos nomes dos fluxos de trabalho. Esses nomes são visíveis nos CloudWatch registros.

Ao criar um fluxo de trabalho, HealthOmics atribui um identificador exclusivo universal (UUID) ao fluxo de trabalho. O UUID do fluxo de trabalho é um identificador global exclusivo (guid) exclusivo em todos os fluxos de trabalho e versões do fluxo de trabalho. Para fins de proveniência de dados, recomendamos que você use o UUID do fluxo de trabalho para identificar fluxos de trabalho de forma exclusiva.

Se suas tarefas de fluxo de trabalho usarem ferramentas externas (executáveis, bibliotecas ou scripts), você cria essas ferramentas em uma imagem de contêiner. Você tem as seguintes opções para hospedar a imagem do contêiner:
+ Hospede a imagem do contêiner no registro privado do ECR. Pré-requisitos para essa opção:
  + Crie um repositório privado ECR ou escolha um repositório existente.
  + Configure a política de recursos do ECR conforme descrito em[Permissões do Amazon ECR](permissions-ecr.md).
  + Faça upload da imagem do contêiner para o repositório privado. 
+ Sincronize a imagem do contêiner com o conteúdo de um registro de terceiros compatível. Pré-requisitos para essa opção:
  + No registro privado do ECR, configure uma regra de cache pull through para cada registro upstream. Para obter mais informações, consulte [Mapeamentos de imagens](workflows-ecr.md#ecr-pull-through-mapping-format).
  + Configure a política de recursos do ECR conforme descrito em[Permissões do Amazon ECR](permissions-ecr.md).
  + Crie modelos de criação de repositórios. O modelo define as configurações para quando o Amazon ECR cria o repositório privado para um registro upstream.
  + Crie mapeamentos de prefixo para remapear referências de imagem de contêiner na definição do fluxo de trabalho para namespaces de cache do ECR.

Ao criar um fluxo de trabalho, você fornece uma definição de fluxo de trabalho que contém informações sobre o fluxo de trabalho, as execuções e as tarefas. HealthOmics pode recuperar a definição do fluxo de trabalho como um arquivo.zip armazenado localmente ou em um bucket do Amazon S3, ou de um repositório compatível baseado em Git. 

**Topics**
+ [Criando um fluxo de trabalho usando o console](#console-create-workflows)
+ [Criação de um fluxo de trabalho usando a CLI](#api-create-workflows)
+ [Criação de um fluxo de trabalho usando um SDK](#sdk-create-workflows)

## Criando um fluxo de trabalho usando o console
<a name="console-create-workflows"></a>

**Etapas para criar um fluxo de trabalho**

1. Abra o [console do HealthOmics ](https://console.aws.amazon.com/omics/).

1.  Se necessário, abra o painel de navegação esquerdo (≡). Escolha **fluxos de trabalho privados**.

1. Na página **Fluxos de trabalho privados**, escolha **Criar fluxo de trabalho**.

1. Na página **Definir fluxo de trabalho**, forneça as seguintes informações:

   1. **Nome do fluxo de trabalho**: um nome distinto para esse fluxo de trabalho. Recomendamos definir nomes de fluxo de trabalho para organizar suas execuções no AWS HealthOmics console e nos CloudWatch registros.

   1. **Descrição** (opcional): uma descrição desse fluxo de trabalho.

1. No painel **Definição do fluxo** de trabalho, forneça as seguintes informações:

   1. **Idioma do fluxo** de trabalho (opcional): selecione o idioma de especificação do fluxo de trabalho. Caso contrário, HealthOmics determina o idioma a partir da definição do fluxo de trabalho.

   1. Para a **fonte de definição do fluxo** de trabalho, escolha importar a pasta de definição de um repositório baseado em Git, de um local do Amazon S3 ou de uma unidade local.

      1. Para **importar de um serviço de repositório**:
**nota**  
HealthOmics suporta repositórios públicos e privados paraGitHub,,GitLab, BitbucketGitHub self-managed,GitLab self-managed.

         1. Escolha uma **Conexão** para conectar seus AWS recursos ao repositório externo. Para criar uma conexão, consulte[Conecte-se com repositórios de código externos](setting-up-new.md#setting-up-omics-repository).
**nota**  
Os clientes da TLV região precisam criar uma conexão na região IAD (us-east-1) para criar um fluxo de trabalho. 

         1. Em ID **completa do repositório, insira sua ID do** repositório como nome de usuário/nome do repositório. Verifique se você tem acesso aos arquivos neste repositório.

         1. Em **Referência da fonte** (opcional), insira uma referência da fonte do repositório (ramificação, tag ou ID do commit). HealthOmics usa a ramificação padrão se nenhuma referência de origem for especificada.

         1. Em **Excluir padrões de arquivo**, insira os padrões de arquivo para excluir pastas, arquivos ou extensões específicas. Isso ajuda a gerenciar o tamanho dos dados ao importar arquivos do repositório. Há no máximo 50 padrões, e os padrões devem seguir a sintaxe do [padrão global](https://fossil-scm.org/home/doc/tip/www/globs.md). Por exemplo: 

            1. `tests/`

            1. `*.jpeg`

            1. `large_data.zip`

      1. Para **Selecionar pasta de definição do S3:**

         1. Insira a localização do Amazon S3 que contém a pasta de definição de fluxo de trabalho compactada. O bucket do Amazon S3 deve estar na mesma região do fluxo de trabalho.

         1. Se sua conta não for proprietária do bucket do Amazon S3, insira o ID da AWS conta do proprietário do bucket no ID da conta do **proprietário do bucket do S3**. Essas informações são necessárias para que HealthOmics possamos verificar a propriedade do bucket.

      1. Para **Selecionar pasta de definição de uma fonte local**:

         1. Insira a localização da unidade local da pasta de definição de fluxo de trabalho compactada.

   1. **Caminho do arquivo de definição do fluxo de trabalho principal** (opcional): insira o caminho do arquivo da pasta de definição do fluxo de trabalho compactado ou do repositório para o `main` arquivo. Esse parâmetro não é necessário se houver somente um arquivo na pasta de definição do fluxo de trabalho ou se o arquivo principal tiver o nome “principal”.

1. No painel **Arquivo README** (opcional), selecione a **Fonte do arquivo README** e forneça as seguintes informações:
   + Em **Importar de um serviço de repositório**, em **Caminho do arquivo README**, insira o caminho para o arquivo README dentro do repositório.
   + Em **Selecionar arquivo do S3**, em Arquivo **README no S3, insira o URI do Amazon S3 para o arquivo** README.
   + Em **Selecionar arquivo de uma fonte local**: em **README - opcional**, **escolha Escolher arquivo** para selecionar o arquivo markdown (.md) a ser carregado.

1. No painel **Configuração de armazenamento de execução padrão**, forneça o tipo de armazenamento de execução padrão e a capacidade para execuções que usam esse fluxo de trabalho:

   1. **Tipo de execução de armazenamento**: escolha se deseja usar armazenamento estático ou dinâmico como padrão para o armazenamento de execução temporária. O padrão é armazenamento estático.

   1. **Capacidade de armazenamento de execução** (opcional): para o tipo de armazenamento de execução estática, você pode inserir a quantidade padrão de armazenamento de execução necessária para esse fluxo de trabalho. O valor padrão para esse parâmetro é 1200 GiB. Você pode substituir esses valores padrão ao iniciar uma execução.

1. **Tags** (opcional): você pode associar até 50 tags a esse fluxo de trabalho.

1. Escolha **Próximo**.

1. Na página **Adicionar parâmetros de fluxo** de trabalho (opcional), selecione a **fonte do parâmetro**:

   1. Para **Analisar do arquivo de definição do fluxo de trabalho**, HealthOmics analisará automaticamente os parâmetros do fluxo de trabalho do arquivo de definição do fluxo de trabalho.

   1. Para **Fornecer modelo de parâmetro do repositório Git**, use o caminho para o arquivo de modelo de parâmetro do seu repositório.

   1. Em **Selecionar arquivo JSON da fonte local**, faça upload de um JSON arquivo de uma fonte local que especifique os parâmetros.

   1. Em **Inserir manualmente os parâmetros do fluxo de trabalho**, insira manualmente os nomes e as descrições dos parâmetros.

1. No painel de **visualização de parâmetros**, você pode revisar ou alterar os parâmetros dessa versão do fluxo de trabalho. Se você restaurar o JSON arquivo, perderá todas as alterações locais feitas.

1. Escolha **Próximo**.

1. Na página de **remapeamento de URI de contêiner**, no painel **Regras de mapeamento**, você pode definir regras de mapeamento de URI para seu fluxo de trabalho.

   Em **Fonte do arquivo de mapeamento**, selecione uma das seguintes opções:
   + **Nenhuma** — Não são necessárias regras de mapeamento.
   + **Selecione o arquivo JSON do S3** — Especifique a localização do arquivo de mapeamento no S3. 
   + **Selecione o arquivo JSON de uma fonte local** — Especifique a localização do arquivo de mapeamento em seu dispositivo local.
   + **Inserir mapeamentos manualmente** **— insira os mapeamentos do registro e os mapeamentos de imagem no painel Mapeamentos.**

1.  O console exibe o painel **Mapeamentos.** Se você escolher um arquivo de origem de mapeamento, o console exibirá os valores do arquivo.

   1. Em **Mapeamentos do registro**, você pode editar os mapeamentos ou adicionar mapeamentos (máximo de 20 mapeamentos do registro).

      Cada mapeamento do registro contém os seguintes campos:
      + **URL do registro upstream** — O URI do registro upstream.
      + Prefixo **do repositório ECR — O prefixo** do repositório a ser usado no repositório privado do Amazon ECR.
      + (Opcional) **Prefixo do repositório upstream** — O prefixo do repositório no registro upstream.
      + (Opcional) **ID da conta ECR** — ID da conta que possui a imagem do contêiner upstream.

   1. Em **Mapeamentos de imagem**, você pode editar os mapeamentos de imagem ou adicionar mapeamentos (máximo de 100 mapeamentos de imagem).

      Cada mapeamento de imagem contém os seguintes campos:
      + **Imagem de origem** — especifica o URI da imagem de origem no registro upstream.
      + **Imagem de destino** — Especifica o URI da imagem correspondente no registro privado do Amazon ECR.

1. Escolha **Próximo**.

1. Revise a configuração do fluxo de trabalho e escolha **Criar fluxo de trabalho**.

## Criação de um fluxo de trabalho usando a CLI
<a name="api-create-workflows"></a>

Se seus arquivos de fluxo de trabalho e o arquivo de modelo de parâmetros estiverem em sua máquina local, você poderá criar um fluxo de trabalho usando o seguinte comando da CLI. 

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

A `create-workflow` operação retorna a seguinte resposta:

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

### Parâmetros opcionais a serem usados ao criar um fluxo de trabalho
<a name="other-create-parameters"></a>

Você pode especificar qualquer um dos parâmetros opcionais ao criar um fluxo de trabalho. Para obter detalhes de sintaxe, consulte [CreateWorkflow](https://docs.aws.amazon.com/omics/latest/api/API_CreateWorkflow.html)a Referência da HealthOmics API da AWS. 

**Topics**
+ [Especifique a definição do fluxo de trabalho (localização do Amazon S3)](#create-defn-uri-parameter)
+ [Use a definição de fluxo de trabalho de um repositório baseado em Git](#create-defn-uri-git)
+ [Especificar um arquivo Readme](#specify-readme-file)
+ [Especifique o arquivo **main** de definição](#create-main-parameter)
+ [Especifique o tipo de armazenamento de execução](#create-run-storage-parameter)
+ [Especifique a configuração da GPU](#create-accelerator-parameter)
+ [Configurar parâmetros de mapeamento de cache pull through](#create-prefix-mapping-parameters)

#### Especifique a definição do fluxo de trabalho (localização do Amazon S3)
<a name="create-defn-uri-parameter"></a>

Se seu arquivo de definição de fluxo de trabalho estiver localizado em uma pasta do Amazon S3, especifique a localização usando o `definition-uri` parâmetro, conforme mostrado no exemplo a seguir. Se sua conta não for proprietária do bucket Amazon S3, forneça o ID do Conta da AWS proprietário.

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

#### Use a definição de fluxo de trabalho de um repositório baseado em Git
<a name="create-defn-uri-git"></a>

Para usar a definição de fluxo de trabalho de um repositório compatível baseado em Git, use o `definition-repository` parâmetro em sua solicitação. Não forneça nenhum outro `definition` parâmetro, pois uma solicitação falhará se incluir mais de uma fonte de entrada.

O `definition-respository` parâmetro contém os seguintes campos:
+ **connectionArn**— ARN da conexão de código que conecta seus recursos da AWS ao repositório externo.
+ **fullRepositoryId**— Insira o ID do repositório como`owner-name/repo-name`. Verifique se você tem acesso aos arquivos neste repositório.
+ **sourceReference**(Opcional) — Insira um tipo de referência do repositório (BRANCH, TAG ou COMMIT) e um valor.

  HealthOmics usa a confirmação mais recente na ramificação padrão se você não especificar uma referência de origem.
+ **excludeFilePatterns**(Opcional) — Insira os padrões de arquivo para excluir pastas, arquivos ou extensões específicas. Isso ajuda a gerenciar o tamanho dos dados ao importar arquivos do repositório. Forneça no máximo 50 padrões. Os padrões devem seguir a sintaxe do padrão [global.](https://fossil-scm.org/home/doc/tip/www/globs.md) Por exemplo:
  + `tests/`
  + `*.jpeg`
  + `large_data.zip`

Ao especificar a definição do fluxo de trabalho em um repositório baseado em Git, use `parameter-template-path` para especificar o arquivo de modelo de parâmetros. Se você não fornecer esse parâmetro, HealthOmics cria o fluxo de trabalho sem um modelo de parâmetro.

O exemplo a seguir mostra os parâmetros relacionados ao conteúdo de um repositório privado baseado em 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" \
```

Para ver mais exemplos, consulte a postagem do blog [Como criar HealthOmics fluxos de trabalho da AWS a partir de conteúdo no Git](https://repost.aws/articles/ARCEN7AjhaRSmteczRoc_QsA/how-to-create-an-aws-healthomics-workflows-from-content-in-git).

#### Especificar um arquivo Readme
<a name="specify-readme-file"></a>

Você pode especificar a localização do arquivo README usando um dos seguintes parâmetros:
+ **readme-markdown**— Entrada de string ou um arquivo em sua máquina local. 
+ **readme-uri**— O URI de um arquivo armazenado no S3. 
+ **readme-path **— O caminho para o arquivo README no repositório. 

**Use readme-path somente em conjunto com definition-respository.** Se você não especificar nenhum parâmetro README, HealthOmics importe o arquivo README.md de nível raiz no repositório (se ele existir).

Os exemplos a seguir mostram como especificar a localização do arquivo README usando readme-path e 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"
```

Para obter mais informações, consulte [HealthOmics Arquivos README do fluxo de trabalho](workflows-readme.md).

#### Especifique o arquivo **main** de definição
<a name="create-main-parameter"></a>

Se você estiver incluindo vários arquivos de definição de fluxo de trabalho, use o `main` parâmetro para especificar o arquivo de definição principal para seu fluxo de trabalho.

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

#### Especifique o tipo de armazenamento de execução
<a name="create-run-storage-parameter"></a>

Você pode especificar o tipo de armazenamento de execução padrão (DINÂMICO ou ESTÁTICO) e a capacidade de armazenamento de execução (necessária para armazenamento estático). Para obter mais informações sobre como executar tipos de armazenamento, consulte[Execute tipos de armazenamento em HealthOmics fluxos de trabalho](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  \
```

#### Especifique a configuração da GPU
<a name="create-accelerator-parameter"></a>

Use o parâmetro accelerators para criar um fluxo de trabalho executado em uma instância de computação acelerada. O exemplo a seguir mostra como usar o `accelerators` parâmetro. Você especifica a configuração da GPU na definição do fluxo de trabalho. Consulte [Instâncias de computação acelerada](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
```

#### Configurar parâmetros de mapeamento de cache pull through
<a name="create-prefix-mapping-parameters"></a>

Se você estiver usando o recurso de mapeamento de cache pull through do Amazon ECR, poderá substituir os mapeamentos padrão. Para obter mais informações sobre os parâmetros de configuração do contêiner, consulte[Imagens de contêiner para fluxos de trabalho privados](workflows-ecr.md).

No exemplo a seguir, o arquivo `mappings.json` contém esse conteúdo:

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

Especifique os parâmetros de mapeamento no comando create-workflow:

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

Você também pode especificar a localização do arquivo de parâmetros de mapeamento no S3:

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

## Criação de um fluxo de trabalho usando um SDK
<a name="sdk-create-workflows"></a>

Você pode criar um fluxo de trabalho usando um dos SDKs. O exemplo a seguir mostra como criar um fluxo de trabalho usando o SDK do Python

```
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={ ... }
)
```