

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

# Automatizando suas tarefas de gerenciamento com AWS OpsHub
<a name="automate-task"></a>

Você pode usar AWS OpsHub para automatizar tarefas operacionais que você executa com frequência no Snowball Edge. Você pode criar uma tarefa para ações recorrentes que talvez queira realizar em recursos, como reiniciar servidores virtuais, interromper instâncias EC2 compatíveis com a Amazon e assim por diante. Você fornece um documento de automação que executa tarefas operacionais com segurança e executa a operação em AWS recursos em massa. Você também pode agendar fluxos de trabalho comuns de TI. 

**nota**  
Não há suporte para a automação de tarefas em clusters.  
Para usar tarefas, o serviço Amazon EC2 Systems Manager deve ser iniciado primeiro. Para obter mais informações, consulte [Ativando o gerenciamento de dispositivos do Snowball Edge em um Snowball](https://docs.aws.amazon.com/snowball/latest/developer-guide/aws-sdm.html#enable-sdm) Edge.

**Topics**
+ [Criando e iniciando uma tarefa com AWS OpsHub](#create-task)
+ [Visualizando detalhes de uma tarefa no AWS OpsHub](#view-task)
+ [Excluindo uma tarefa no AWS OpsHub](#delete-task)

## Criando e iniciando uma tarefa com AWS OpsHub
<a name="create-task"></a>

Ao criar uma tarefa, você especifica os tipos de recursos em que a tarefa deve ser executada e fornece um documento da tarefa que contém as instruções que executam a tarefa. O documento da tarefa está no formato YAML ou JSON. Depois você fornece os parâmetros necessários para a tarefa e inicia a tarefa.

**Para criar uma tarefa**

1. Na seção **Executar tarefas** do painel, escolha **Comece a usar** para abrir a página **Tarefas**. Se você tiver criado tarefas, elas serão exibidas em **Tarefas**. 

1. Escolha **Criar tarefa** e forneça detalhes para a tarefa.

1. Em **Nome**, insira um nome exclusivo para a tabela.
**dica**  
O nome deve ter entre 3 e 128 caracteres. Os caracteres válidos são: `a-z`, `A-Z`, `0-9`, `.`, `_` e `-`.

1. Opcionalmente, você poderá escolher um tipo de destino na lista **Tipo de destino - opcional**. Esse é o tipo de atributo no qual você deseja que a tarefa seja executada. 

   Por exemplo, você pode especificar **/AWS::EC2::Instance** que as tarefas sejam executadas em uma instância EC2 compatível com **/** a Amazon ou em todos os tipos de recursos. 

1. Na seção **Conteúdo**, escolha **YAML** ou **JSON** e forneça o script que executa a tarefa. Você tem duas opções de formato: YAML ou JSON. Para obter exemplos, consulte [Exemplos de tarefas em AWS OpsHub](#task-examples).

1. Escolha **Criar**. A tarefa criada é exibida na página **Tarefas**.

**Como iniciar uma tarefa**

1. Na seção **Executar tarefas** do painel, escolha **Comece a usar** para abrir a página **Tarefas**. Suas tarefas são exibidas em **Tarefas**.

1. Escolha sua tarefa para abrir a página **Iniciar tarefa**.

1. Escolha **Execução simples** para executar em destinos. 

   Escolha **Controle de taxa** para executar com segurança em vários destinos e definir limites de simultaneidade e erro. Para essa opção, você fornece as informações adicionais de limite de erro e destino na seção **Controle de taxa**. 

1. Forneça os parâmetros de entrada necessários e escolha **Iniciar tarefa**. 

   O status da tarefa é **Pendente** e muda para **Êxito** quando a tarefa é executada com êxito.

### Exemplos de tarefas em AWS OpsHub
<a name="task-examples"></a>

O exemplo a seguir reinicia uma instância EC2 compatível com a Amazon. Ele requer dois parâmetros de entrada: `endpoint` e `instance ID`. 

*Exemplo de YAML*

```
description: Restart EC2 instance
schemaVersion: '0.3'
parameters:
  Endpoint:
    type: String
    description: (Required) EC2 Service Endpoint URL
  Id:
    type: String
    description: (Required) Instance Id
mainSteps:
  - name: restartInstance
    action: aws:executeScript
    description: Restart EC2 instance step
    inputs:
      Runtime: python3.7
      Handler: restart_instance
      InputPayload:
        Endpoint: "{{ Endpoint }}"
        Id: "{{ Id }}"
      TimeoutSeconds: 30
      Script: |-
        import boto3
        import time
        def restart_instance(payload, context):
            ec2_endpoint = payload['Endpoint']
            instance_id = payload['Id']
            ec2 = boto3.resource('ec2', endpoint_url=ec2_endpoint)
            instance = ec2.Instance(instance_id)
            if instance.state['Name'] != 'stopped':
                instance.stop()
                instance.wait_until_stopped()
            instance.start()
            instance.wait_until_running()
            return {'InstanceState': instance.state}
```

*Exemplo de JSON*

```
{
  "description" : "Restart EC2 instance",
  "schemaVersion" : "0.3",
  "parameters" : {
    "Endpoint" : {
      "type" : "String",
      "description" : "(Required) EC2 Service Endpoint URL"
    },
    "Id" : {
      "type" : "String",
      "description" : "(Required) Instance Id"
    }
  },
  "mainSteps" : [ {
    "name" : "restartInstance",
    "action" : "aws:executeScript",
    "description" : "Restart EC2 instance step",
    "inputs" : {
      "Runtime" : "python3.7",
      "Handler" : "restart_instance",
      "InputPayload" : {
        "Endpoint" : "{{ Endpoint }}",
        "Id" : "{{ Id }}"
      },
      "TimeoutSeconds" : 30,
      "Script" : "import boto3\nimport time\ndef restart_instance(payload, context):\n    
            ec2_endpoint = payload['Endpoint']\n    instance_id = payload['Id']\n    
            ec2 = boto3.resource('ec2', endpoint_url=ec2_endpoint)\n    
            instance = ec2.Instance(instance_id)\n    
            if instance.state['Name'] != 'stopped':\n        
            instance.stop()\n        
            instance.wait_until_stopped()\n    
            instance.start()\n    
            instance.wait_until_running()\n    
            return {'InstanceState': instance.state}"
    }
  } ]
}
```

## Visualizando detalhes de uma tarefa no AWS OpsHub
<a name="view-task"></a>

Você pode visualizar os detalhes de uma tarefa de gerenciamento, como a descrição e os parâmetros necessários para executar a tarefa.

**Como visualizar os detalhes de uma tarefa**

1. Na seção **Executar tarefas** do painel, escolha **Comece a usar** para abrir a página **Tarefas**. 

1. Na página **Tarefas**, localize e escolha a tarefa da qual você deseja ver os detalhes.

1. Escolha **Exibir detalhes** e selecione uma das guias para ver os detalhes. Por exemplo, a guia **Parâmetros** mostra os parâmetros de entrada no script.

## Excluindo uma tarefa no AWS OpsHub
<a name="delete-task"></a>

Siga estas etapas para excluir uma tarefa de gerenciamento.

**Para excluir uma tarefa**

1. Na seção **Executar tarefas** do painel, escolha **Comece a usar** para abrir a página **Tarefas**. 

1. Localize a tarefa que você deseja excluir. Selecione a tarefa e escolha **Excluir**.