

• O AWS Systems Manager CloudWatch Dashboard não estará mais disponível a partir de 30 de abril de 2026. Os clientes podem continuar usando o console do Amazon CloudWatch para visualizar, criar e gerenciar os painéis do Amazon CloudWatch exatamente como fazem hoje. Para obter mais informações, consulte a [documentação do Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html). 

# Executar scripts Python no GitHub
<a name="integration-github-python"></a>

Esta seção inclui procedimentos para ajudar você a executar scripts do Python no GitHub usando o console do AWS Systems Manager ou a AWS Command Line Interface (AWS CLI). 

## Executar um script do Python no GitHub (console)
<a name="integration-github-python-console"></a>

**Executar um script do Python no GitHub**

1. Abra o console AWS Systems Manager em [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. No painel de navegação, escolha **Run Command**.

1. Selecione **Run command**.

1. Na lista **Command document** (Documento do comando), escolha **`AWS-RunRemoteScript`**.

1. Em **Command parameters (Parâmetros do comando)**, faça o seguinte:
   + Em **Tipo de origem**, selecione **GitHub**. 
   + Na caixa de texto **Source Info** (Informações da origem) insira as informações necessárias para acessar a origem no seguinte formato:

     ```
     {
         "owner": "owner_name",
         "repository": "repository_name",
         "getOptions": "branch:branch_name",
         "path": "path_to_document",
         "tokenInfo": "{{ssm-secure:SecureString_parameter_name}}"
     }
     ```

     O exemplo a seguir baixa um diretório de scripts chamado *complex-script*.

     ```
     {
         "owner": "TestUser1",
         "repository": "SSMTestDocsRepo",
         "getOptions": "branch:myBranch",
         "path": "scripts/python/complex-script",
         "tokenInfo": "{{ssm-secure:myAccessTokenParam}}"
     }
     ```
**nota**  
`"branch"` é necessário somente se seus scripts estiverem armazenados em uma ramificação diferente de `master`.  
Para usar a versão de seus scripts que estão em uma *confirmação* específica no repositório, use `commitID` com `getOptions` em vez de `branch`. Por exemplo:  
`"getOptions": "commitID:bbc1ddb94...b76d3bEXAMPLE",`
   + No campo **Command Line** (Linha de comando), digite os parâmetros para a execução do script. Aqui está um exemplo.

     ```
     mainFile.py argument-1 argument-2
     ```

     Este exemplo executa o `mainFile.py` que, por sua vez, pode executar outros scripts no diretório `complex-script`.
   + (Opcional) Em **Working Directory** (Diretório de trabalho), digite o nome de um diretório do nó em que deseja baixar e executar o script.
   + (Opcional) Em **Execution Timeout (Tempo limite de execução)**, especifique o número de segundos para o sistema aguardar antes de a execução do comando de script falhar. 

1. Na seção **Targets** (Destinos), escolha os nós gerenciados nos quais você quer executar essa operação, especificando as etiquetas, selecionando as instâncias ou dispositivos de borda manualmente ou especificando um grupo de recursos.
**dica**  
Se um nó gerenciado que você espera ver não estiver listado, consulte [Solução de problemas de disponibilidade do nó gerenciado](fleet-manager-troubleshooting-managed-nodes.md) para obter dicas de solução de problemas.

1. Para **Other parameters (Outros parâmetros)**:
   + Em **Comment** (Comentário), digite as informações sobre esse comando.
   + Em **Timeout (seconds) (Tempo limite [segundos])**, especifique o número de segundos para o sistema aguardar até a falha de execução do comando total. 

1. Para **Rate control** (Controle de taxa):
   + Em **Concurrency** (Concorrência), especifique um número ou uma porcentagem de nós gerenciados nos quais executar o comando ao mesmo tempo.
**nota**  
Se você selecionou destinos especificando tags aplicadas a instâncias a nós gerenciados ou especificando grupos de recursos da AWS, e não tiver certeza de quantas instâncias são direcionadas, restrinja o número de instâncias que poderão executar o documento ao mesmo tempo, especificando uma porcentagem.
   + Em **Error threshold** (Limite de erro), especifique quando parar de executar o comando em outros nós depois de falhar em alguns ou em uma porcentagem de nós. Por exemplo, se você especificar três erros, o Systems Manager deixará de enviar o comando quando o 4° erro for recebido. Os nós gerenciados que continuam processando o comando também podem enviar erros.

1. (Opcional) Em **Output options (Opções de saída)**, para salvar a saída do comando em um arquivo, selecione a caixa **Write command output to an S3 bucket (Gravar saída do comando em um bucket do S3)**. Digite os nomes de bucket e prefixo (pastas) nas caixas de texto.
**nota**  
As permissões do S3 que concedem a possibilidade de gravar os dados em um bucket do S3 são as do perfil de instância (para instâncias do EC2) ou perfil de serviço do IAM (máquinas ativadas para ambientes híbridos) atribuído à instância, e não as do usuário do IAM que realiza essa tarefa. Para obter mais informações, consulte [Configurar permissões de instância obrigatórias para o Systems Manager](setup-instance-permissions.md) ou [Criar um perfil de serviço do IAM para um ambiente híbrido](hybrid-multicloud-service-role.md). Além disso, se o bucket do S3 especificado estiver em uma conta da Conta da AWS diferente, verifique se o perfil da instância ou a função de serviço do IAM associado ao nó gerenciado tenha as permissões necessárias para gravar nesse bucket.

1. Na seção **SNS notifications** (Notificações do SNS), se quiser enviar notificações sobre o status da execução do comando, marque a caixa de seleção **Enable SNS notifications** (Habilitar notificações do SNS).

   Para obter mais informações sobre a configuração de notificações do Amazon SNS para o Run Command, consulte [Monitorar alterações de status do Systems Manager usando as notificações do Amazon SNS](monitoring-sns-notifications.md).

1. Escolha **Executar**.

## Executar um script do Python no GitHub usando a AWS CLI
<a name="integration-github-python-cli"></a>

1. Instale e configure a AWS Command Line Interface (AWS CLI), caso ainda não o tenha feito.

   Para obter informações, consulte [Instalar ou atualizar a versão mais recente da AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html).

1. Execute o comando a seguir para baixar e executar um script do GitHub.

   ```
   aws ssm send-command --document-name "AWS-RunRemoteScript" --instance-ids "instance-IDs" --parameters '{"sourceType":["GitHub"],"sourceInfo":["{\"owner\":\"owner_name\", \"repository\":\"repository_name\", \"path\": \"path_to_script_or_directory"}"],"commandLine":["commands_to_run"]}'
   ```

   Aqui está um exemplo.

   ```
   aws ssm send-command --document-name "AWS-RunRemoteScript" --instance-ids "i-02573cafcfEXAMPLE" --parameters '{"sourceType":["GitHub"],"sourceInfo":["{\"owner\":\"TestUser1\", \"repository\":\"GitHubTestPublic\", \"path\": \"scripts/python/complex-script\"}"],"commandLine":["mainFile.py argument-1 argument-2 "]}'
   ```

   Este exemplo baixa um diretório de scripts denominado `complex-script`. A entrada `commandLine` executa o `mainFile.py` que, por sua vez, pode executar outros scripts no diretório `complex-script`.