

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á.

# Controle de versão do fluxo de trabalho em HealthOmics
<a name="workflow-versions"></a>

Se precisar fazer alterações em um fluxo de trabalho, você pode criar um novo fluxo de trabalho ou uma nova versão do fluxo de trabalho. As versões são imutáveis, exceto pelas alterações de configuração permitidas que não afetam a lógica de execução.

As versões do fluxo de trabalho oferecem os seguintes benefícios:
+ As versões formam um grupo lógico de fluxos de trabalho relacionados. Você pode adicionar um nome definido pelo usuário a cada versão do fluxo de trabalho para gerenciá-las com mais facilidade (especialmente para um fluxo de trabalho com um grande número de versões). 
+ Você pode executar várias versões de um fluxo de trabalho ao mesmo tempo.
+ Todas as versões de um fluxo de trabalho compartilham a mesma ID de fluxo de trabalho e ARN base, o que pode simplificar o gerenciamento do pipeline após a modificação de um fluxo de trabalho.
+ As versões de fluxo de trabalho fornecem o mesmo nível de proveniência de dados que os fluxos de trabalho. As versões são imutáveis e HealthOmics criam um ARN exclusivo para cada versão do fluxo de trabalho. O ARN da versão inclui o ID do fluxo de trabalho e o nome da versão, conforme mostrado no exemplo a seguir:

  `arn:aws:omics:us-west-2:123456789012:workflow/1234567/version/myUniqueVersionName`
+ Se você possui um fluxo de trabalho compartilhado, pode atualizar o fluxo de trabalho sem interromper os assinantes (que podem continuar usando a versão anterior). Os assinantes podem acessar todas as versões do fluxo de trabalho. Se você criar uma nova versão, não precisará compartilhar novamente o fluxo de trabalho.
+ Ao iniciar a execução de um fluxo de trabalho, você pode especificar a versão do fluxo de trabalho.
  + Os usuários podem optar por permanecer em uma versão estável para execuções de produção e experimentar a versão mais recente para um teste.
  + Os usuários podem reverter para a versão anterior de um fluxo de trabalho se encontrarem problemas com a nova versão.
  + Os assinantes de um fluxo de trabalho compartilhado podem escolher qual versão usar.

**Topics**
+ [Versão padrão do fluxo de trabalho](workflows-default-version.md)
+ [Crie uma versão do fluxo de trabalho](workflows-version-create.md)
+ [Atualizar uma versão do fluxo de trabalho](workflows-version-update.md)
+ [Excluir uma versão do fluxo de trabalho](workflows-version-delete.md)

# Versão padrão do fluxo de trabalho
<a name="workflows-default-version"></a>

Depois de criar uma ou mais versões de um fluxo de trabalho, HealthOmics trata o fluxo de trabalho original como a versão padrão. Ao iniciar uma execução, você pode, opcionalmente, especificar uma versão do fluxo de trabalho para a execução. Se você não especificar uma versão ao iniciar uma execução, HealthOmics usa a versão padrão.

No console, HealthOmics indica o fluxo de trabalho original com um rótulo de **versão padrão**. O console usa esse rótulo somente depois que você cria uma ou mais versões do fluxo de trabalho. O fluxo de trabalho original sempre permanece a versão padrão. Você não pode atribuir nenhuma outra versão como padrão.

Você não pode excluir a versão padrão de um fluxo de trabalho se houver outras versões associadas ao fluxo de trabalho. Para obter mais informações, consulte [Excluir um fluxo de trabalho privado](delete-private-workflow.md).

# Crie uma versão do fluxo de trabalho
<a name="workflows-version-create"></a>

Ao criar uma nova versão de um fluxo de trabalho, você precisa especificar os valores de configuração para a nova versão. Ele não herda nenhum valor de configuração do fluxo de trabalho.

Ao criar a versão, forneça um nome de versão exclusivo para esse fluxo de trabalho. Você não pode alterar o nome depois de HealthOmics criar a versão. 

O nome da versão deve começar com uma letra ou número e pode incluir letras maiúsculas e minúsculas, números, hífens, pontos e sublinhados. O tamanho máximo é de 64 caracteres. Por exemplo, você pode usar um esquema de nomenclatura simples, como versão1, versão2, versão3. Você também pode combinar suas versões de fluxo de trabalho com suas próprias convenções internas de controle de versão, como 2.7.0, 2.7.1, 2.7.2.

Opcionalmente, use o campo de descrição da versão para adicionar notas sobre essa versão. Por exemplo: **Fix for syntax error in workflow definition**.

**nota**  
Não inclua nenhuma informação de identificação pessoal (PII) no nome da versão. Os nomes das versões aparecem no ARN da versão do fluxo de trabalho.

HealthOmics atribui um ARN exclusivo à versão do fluxo de trabalho. O ARN é exclusivo com base na combinação de ID do fluxo de trabalho e nome da versão.

**Atenção**  
Depois de excluir uma versão do fluxo de trabalho, HealthOmics você pode reutilizar o nome da versão para uma versão diferente do fluxo de trabalho. A melhor prática é não reutilizar nomes de versões. Se você reutilizar um nome, o fluxo de trabalho e cada versão terão um UUID exclusivo que você pode usar como proveniência. 

**Topics**
+ [Crie uma versão do fluxo de trabalho usando o console](#workflow-versions-console-create)
+ [Crie uma versão do fluxo de trabalho usando a CLI](#workflow-versions-api-create)
+ [Crie uma versão do fluxo de trabalho usando um SDK](#workflow-versions-sdk)
+ [Verificar o status de uma versão do fluxo de trabalho](#using-get-workflow)

## Crie uma versão do fluxo de trabalho usando o console
<a name="workflow-versions-console-create"></a>

**Etapas para criar uma versão do fluxo de trabalho**

1. Abra o [console de 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 o fluxo de trabalho para a nova versão.

1. Na página **de detalhes do fluxo** de trabalho, escolha **Criar nova versão**.

1. Na página **Criar versão**, forneça as seguintes informações:

   1. **Nome da versão**: insira um nome para a versão do fluxo de trabalho que seja exclusivo em todo o fluxo de trabalho. 

   1. **Descrição da versão** (opcional): você pode usar o campo de descrição para adicionar notas sobre essa versão.

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 para a versã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 essa versão do 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. 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 da versão e escolha **Criar versão**.

Quando a versão é criada, o console retorna à página de detalhes do fluxo de trabalho e exibe a nova versão na tabela **Fluxos de trabalho e versões**.

## Crie uma versão do fluxo de trabalho usando a CLI
<a name="workflow-versions-api-create"></a>

Você pode criar uma versão do fluxo de trabalho usando a operação `CreateWorkflowVersion` da API. Para parâmetros opcionais, HealthOmics usa os seguintes padrões:


| Parameter | Padrão | 
| --- | --- | 
| Mecanismo | Determinado a partir da definição do fluxo de trabalho | 
| Tipo de armazenamento | STATIC | 
| Capacidade de armazenamento (para armazenamento estático) | 1.200 GiB | 
| Principal  | Determinado com base no conteúdo da pasta de definição do fluxo de trabalho. Para obter detalhes, consulte [HealthOmics requisitos de definição de fluxo de trabalho](workflow-defn-requirements.md). | 
| Aceleradores | nenhuma | 
| Tags | nenhuma | 

O exemplo de CLI a seguir cria uma versão de fluxo de trabalho com armazenamento estático como armazenamento de execução padrão:

```
aws omics create-workflow-version \
--workflow-id 1234567  \
--version-name "my_version" \
--engine WDL \
--definition-zip fileb://workflow-crambam.zip \
--description "my version description" \
--main file://workflow-params.json \
--parameter-template file://workflow-params.json \
--storage-type='STATIC'   \
--storage-capacity 1200   \
--tags example123=string  \
--accelerators GPU
```

Se seu arquivo de definição de fluxo de trabalho estiver localizado em uma pasta do Amazon S3, insira o local usando o `definition-uri` parâmetro em vez de. `definition-zip` Para obter mais informações, consulte [CreateWorkflowVersion](https://docs.aws.amazon.com/omics/latest/api/API_CreateWorkflowVersion.html)a AWS HealthOmics API Reference.

Você recebe a seguinte resposta à `create-workflow-version` solicitação.

```
{
  "workflowId": "1234567",
  "versionName": "my_version",
  "arn": "arn:aws:omics:us-west-2:123456789012:workflow/1234567/version/3",
  "status": "ACTIVE",
  "tags": {
    "environment": "production",
    "owner": "team-alpha"
  },
  "uuid": "0ac9a563-355c-fc7a-1b47-a115167af8a2"
}
```

## Crie uma versão do fluxo de trabalho usando um SDK
<a name="workflow-versions-sdk"></a>

Você pode criar um fluxo de trabalho usando um dos SDKs.

O exemplo a seguir mostra como criar uma versão do 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_version(
   workflowId='1234567',
   versionName='my_version',
   requestId='my_request_1'
   definitionZip=definition,
   parameterTemplate={ ... }
)
```

## Verificar o status de uma versão do fluxo de trabalho
<a name="using-get-workflow"></a>

Depois de criar sua versão do fluxo de trabalho, você pode verificar o status e visualizar outros detalhes do fluxo de trabalho usando **get-workflow-version**, conforme mostrado.

```
aws omics get-workflow-version 
--workflow-id 9876543
--version-name "my_version"
```

A resposta fornece detalhes do seu fluxo de trabalho, incluindo o status, conforme mostrado.

```
{
  "workflowId": "1234567",
  "versionName": "3.0.0",
  "arn": "arn:aws:omics:us-west-2:123456789012:workflow/1234567/version/3.0.0",
  "status": "ACTIVE",
  "description": ...
  "uuid": "0ac9a563-355c-fc7a-1b47-a115167af8a2"
}
```

Antes de iniciar uma execução com essa versão do fluxo de trabalho, o status deve ser transferido para`ACTIVE`.

# Atualizar uma versão do fluxo de trabalho
<a name="workflows-version-update"></a>

Você pode atualizar a descrição e a configuração padrão do armazenamento de execução para uma versão privada do fluxo de trabalho. Para alterar qualquer outra informação na versão do fluxo de trabalho, crie uma nova versão. 

**Topics**
+ [Atualizar uma versão do fluxo de trabalho usando o console](#workflow-versions-console-update)
+ [Atualizar uma versão do fluxo de trabalho usando a CLI](#workflow-versions-api-update)
+ [Atualizar uma versão do fluxo de trabalho usando um SDK](#workflow-versions-sdk-update)

## Atualizar uma versão do fluxo de trabalho usando o console
<a name="workflow-versions-console-update"></a>

**Para atualizar uma versão do 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 o fluxo de trabalho.

1. Na página **Fluxo de trabalho**, escolha a versão do fluxo de trabalho a ser atualizada e escolha **Editar selecionada** na lista **Ações**. 
   + Se você escolher a versão padrão, o console abrirá a página **Editar fluxo de trabalho**. Para obter mais informações, consulte [Atualizar um fluxo de trabalho privado](update-private-workflow.md).
   + Se você escolher uma versão definida pelo usuário, o console abrirá a página **Editar versão**. 

1. Na página **Editar versão**, forneça as seguintes informações
   + **Descrição da versão** (opcional) - Uma descrição dessa versão.

1. No painel **Configuração de armazenamento de execução padrão**, forneça os seguintes valores padrão para execuções que usam essa versão do fluxo de trabalho. Você pode substituir os valores padrão ao iniciar uma execução:
   + Para o **tipo de armazenamento Executar**, selecione **Estático** ou **Dinâmico**.
   + Para armazenamento estático de execução, selecione a quantidade padrão de **capacidade de armazenamento de execução** para execuções que usam essa versão do fluxo de trabalho. O valor padrão para esse parâmetro é 1200 GiB.

1. Escolha **Salvar alterações**.

O console retorna à página de detalhes do fluxo de trabalho e exibe um banner de página com a versão atualizada do fluxo de trabalho.

## Atualizar uma versão do fluxo de trabalho usando a CLI
<a name="workflow-versions-api-update"></a>

Você pode atualizar os parâmetros de uma versão do fluxo de trabalho usando o seguinte comando da CLI. A combinação do ID do fluxo de trabalho e do nome da versão identifica a versão de forma exclusiva. 

```
aws omics update-workflow-version
--workflow-id 1234567
--version-name "my_version"
--storage-type 'STATIC' 
--storage-capacity 2400
--description "version description"
```

Você não recebe resposta à `update-workflow-version` solicitação. 

## Atualizar uma versão do fluxo de trabalho usando um SDK
<a name="workflow-versions-sdk-update"></a>

Você pode atualizar uma versão do fluxo de trabalho usando um dos SDKs. O exemplo de SDK para python a seguir mostra como atualizar o tipo de armazenamento e a descrição de uma versão do fluxo de trabalho.

```
import boto3

omics = boto3.client('omics')

response = omics.update_workflow_version(
   workflowID=1234567,
   versionName='3.0.0',
   storageType='DYNAMIC',
   description='new version description'
)
```

# Excluir uma versão do fluxo de trabalho
<a name="workflows-version-delete"></a>

Você pode excluir uma versão do fluxo de trabalho definida pelo usuário usando o console, a CLI ou um dos. SDKs A exclusão de uma versão do fluxo de trabalho não afeta nenhuma execução em andamento que esteja usando a versão do fluxo de trabalho.

Você não pode excluir [Versão padrão do fluxo de trabalho](workflows-default-version.md) o. Você exclui todas as versões definidas pelo usuário e, em seguida, exclui o fluxo de trabalho.

**Topics**
+ [Excluir uma versão do fluxo de trabalho usando o console](#workflow-versions-console-delete)
+ [Excluir uma versão do fluxo de trabalho usando a CLI](#workflow-versions-api-delete)
+ [Excluir uma versão do fluxo de trabalho usando um SDK](#workflow-versions-sdk-delete)

## Excluir uma versão do fluxo de trabalho usando o console
<a name="workflow-versions-console-delete"></a>

**Para excluir uma versão do 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 o fluxo de trabalho.

1. Na página **Fluxo de trabalho**, escolha a versão do fluxo de trabalho a ser excluída e escolha **Excluir selecionada** na lista **Ações**. 

1. No modal **Excluir versão do fluxo** de trabalho, digite “confirmar” para confirmar a exclusão.

1. Escolha **Excluir**.

O console exibe um banner de página com a versão excluída do fluxo de trabalho.

## Excluir uma versão do fluxo de trabalho usando a CLI
<a name="workflow-versions-api-delete"></a>

Você pode excluir uma versão do fluxo de trabalho definida pelo usuário usando o seguinte comando da CLI. A combinação do ID do fluxo de trabalho e do nome da versão identifica a versão de forma exclusiva. 

```
aws omics delete-workflow-version
--workflow-id 9876543
--version-name "my_version"
```

Você não recebe resposta à `delete-workflow-version` solicitação. 

## Excluir uma versão do fluxo de trabalho usando um SDK
<a name="workflow-versions-sdk-delete"></a>

Você pode excluir um fluxo de trabalho usando um dos SDKs.

O exemplo a seguir mostra como excluir um fluxo de trabalho usando o SDK do Python.

```
import boto3

omics = boto3.client('omics')

response = omics.delete_workflow_version(
   workflowID=1234567,
   versionName='3.0.0'
)
```