Skip To Content

Automatizar fluxos de trabalho com ArcGIS Notebooks

O ArcGIS Notebook Server permite implementar vários métodos de automação do fluxo de trabalho, incluindo automação por meio de notebooks agendados, webhooks e seus próprios scripts personalizados usando a API administrativa de Executar Notebook.

Anotação:

Para automatizar um notebook usando tarefas agendadas, webhooks ou a API de execução do notebook, o notebook deve usar um tempo de execução da versão 10.8 ou posterior.

Agendar tarefas do notebook

Começando na versão 10.8.1, os autores do notebook podem agendar o ArcGIS Notebooks para execução automatizada em um horário fixo no futuro, uma vez ou de forma recorrente. A criação de tarefas para agendar notebooks permite automatizar fluxos de trabalho de rotina, executar processos com uso intensivo de dados durante o horário de menor uso e atualizar regularmente conjuntos de dados. Por exemplo, você pode programar um notebook para fazer o seguinte:

  • Importar dados de uma fonte online que atualizam mensalmente, limpam automaticamente os dados e aplicam transformações necessárias e movem os dados para sua área de trabalho.
  • Execute um fluxo de trabalho de análise do big data que exija alta capacidade de processamento durante a noite, quando os recursos da sua máquina estiverem sem uso.
  • Gerencie usuários que criaram contas no seu portal durante a semana passada e envie a lista para você por e-mail.

Você pode criar uma ou mais tarefas para um notebook. Por padrão, o autor ou administrador do notebook pode criar no máximo 20 tarefas. Se a propriedade do notebook for alterada, todas as tarefas associadas a este notebook serão desativadas e atribuídas ao novo proprietário.

Tarefas agendadas permitem parametrizar notebooks. Quando um notebook é parametrizado, ele permite escrever um código genérico que pode ser adaptado a várias entradas sem sua interação. Os parâmetros escolhidos são inseridos no notebook quando uma tarefa é executada e, opcionalmente, podem ser salvos no notebook. Por exemplo, um notebook parametrizado pode ser usado para gerar relatórios de poluição do ar em toda a região de forma recorrente. O notebook pode ter várias tarefas agendadas, uma para cada região a ser estudada, e para cada tarefa, entradas parametrizadas, como nome da cidade e tipo de poluição, podem ser inseridas no notebook.

Anotação:

O número de tarefas do notebook em execução simultânea é limitado pela propriedade do sistema maxExecuteNotebookContainersPerNode no Notebook Server.

Você pode configurar a tarefa para salvar o estado do notebook no item original do notebook após a conclusão.

Uma visualização de HTML estática do notebook será salva para cada tarefa agendada que é executada. Por padrão, apenas os resultados das últimas 30 execuções serão salvos.

Usando a página Tarefas no ArcGIS Notebook Server Manager, os administradores podem visualizar detalhes, editar, pausar e retomar ou excluir cada tarefa do notebook atualmente ativa no site. Os administradores e autores do notebook com o privilégio de agendar notebook podem visualizar detalhes, editar, pausar e retomar ou excluir uma tarefa do notebook na página de detalhes do notebook ou no painel de tarefas do editor de notebook.

Para evitar execuções repetidas com falha de um notebook, uma tarefa agendada será desabilitada após cinco falhas consecutivas. O proprietário da tarefa deve garantir que o notebook possa ser executado com sucesso sem qualquer interação do usuário antes de reativar a tarefa.

Se uma execução anterior de uma tarefa ainda estiver em execução, uma nova execução de tarefa agendada será ignorada. Por exemplo, se uma tarefa for agendada para ser executada a cada 15 minutos, mas uma instância dessa tarefa for executada por 20 minutos, a próxima execução agendada será ignorada. Se isso ocorrer regularmente, o proprietário da tarefa deverá ajustar o intervalo de tempo agendado para que não haja sobreposição entre as execuções.

Para mais informações sobre as tarefas agendadas do notebook, consulte o tópico de ajuda Agendar uma tarefa do notebook.

Usando a janela Gerenciar tarefas na página inicial do ArcGIS Notebook Server ou a página Tarefas no ArcGIS Notebook Server Manager, os administradores podem visualizar detalhes, editar, pausar, retomar e excluir tarefas ativas do notebook no site. Administradores e autores com o privilégio de agendamento do notebook podem visualizar detalhes, editar, pausar, retomar e excluir uma tarefa do notebook na página de detalhes do notebook ou no painel de tarefas do editor de notebook.

Limites de tarefas agendadas

Há determinados limites de nível do usuário, organizacional e de site do ArcGIS Notebook Server (máquina) relacionados a tarefas agendadas do notebook.

Máximo de execuções simultâneas de notebooks automatizados (maxExecuteNotebookContainersPerNode)

Quando um notebook é executado por uma tarefa agendada, webhook ou a API de execução do notebook, o ArcGIS Notebook Server abre automaticamente um novo contêiner e executa o notebook sem nenhuma interação do usuário. Por padrão, ArcGIS Notebook Server está configurado para realizar no máximo 10 execuções simultâneas de notebook por cada máquina do Notebook Server. Considerando os recursos (CPU e RAM) disponíveis em cada máquina de site do Notebook Server, um administrador pode ajustar esse limite modificando a propriedade do sistema maxExecuteNotebookContainersPerNode no Notebook Server. Qualquer solicitação de notebook automatizado enviada após esse limite ser excedido será adicionada a uma fila e executada quando o número de execuções de tarefas automatizadas ficar abaixo desse limite. As tarefas enfileiradas falharão se o tempo de espera exceder o tempo limite.

Anotação:

Isso não limita o número de notebooks executados interativamente no editor de notebook.

Você pode alterar o limite de maxExecuteNotebookContainersPerNode seguindo as etapas abaixo.

Anotação:

Aumentar o limite pode resultar em recursos adicionais usados noNotebook Server.

  1. Entre no seu portal do ArcGIS Enterprise como um administrador.
  2. Abra o ArcGIS Notebook Server Manager.
  3. Clique em Configurações > Site
  4. Altere o valor da propriedade maxExecuteNotebookContainersPerNode .
  5. Clique em Salvar.
  6. Revise o aviso sobre a reinicialização do seu Notebook Server e clique em Salvar e Reiniciar para salvar as alterações.

Máximo de tarefas agendadas do notebook ativas por usuário

Cada autor de notebook com privilégio de agendar notebooks pode criar no máximo 20 tarefas ativas de notebook. Uma vez atingido esse limite, o usuário não poderá criar novas tarefas agendadas. Uma nova tarefa pode ser criada quando uma tarefa existente muda de Ativa para Concluída, Com Falha ou Inativa. Este limite pode ser alterado atualizando a propriedade ExecuteNotebooksUserLimit utilizando a operação Atualizar Limites do Sistema no ArcGIS Portal Administrator API.

Máximo de tarefas agendadas do notebook ativas por organização

O máximo de tarefas agendadas do notebook ativas para uma organização é limitado a 200. Este limite representa o número total de tarefas ativas que podem pertencer a todos os usuários em uma Organização do Portal. Quando esse limite for atingido, os usuários não poderão criar novas tarefas agendadas do notebook. Este limite pode ser alterado atualizando a propriedade ExecuteNotebooksOrgLimit utilizando a operação Atualizar Limites do Sistema no ArcGIS Portal Administrator API.

Número de resultados relatados para uma tarefa agendada

Os resultados de uma tarefa são relatados e mantidos por 30 execuções. Qualquer tarefa executada antes das 30 execuções mais recentes de uma tarefa será excluída permanentemente. Este limite pode ser alterado atualizando a propriedade TaskRunHistoryCount utilizando a operação Atualizar Limites do Sistema no ArcGIS Portal Administrator API.

Falha automática de uma tarefa

Quaisquer tarefas que falharem 5 vezes consecutivas serão automaticamente alteradas para um estado de falha e não serão mais executadas. Para garantir que as tarefas continuem em execução, o proprietário da tarefa deve identificar e corrigir a falha e alterar a tarefa para o estado Ativo. Este limite pode ser alterado atualizando a propriedade FailedRunsDisableTask utilizando a operação Atualizar Limites do Sistema no ArcGIS Portal Administrator API.

Automatizar um notebook usando webhooks

Um webhook é um mecanismo que permite que um aplicativo forneça a outros aplicativos informações sobre eventos. Como um administrador do ArcGIS EnterprisePortal ou um usuário com o privilégio webhooks da organização, você pode criar, gerenciar e configurar webhooks. Você poderá configurar webhooks para executar automaticamente um notebook de sua propriedade quando ocorrerem eventos associados aos itens, grupos ou usuários do portal. Seu ArcGIS Notebook Server atua como o receptor da carga útil do webhook. Após um webhook ser ativado, uma solicitação de HTTP será realizada no Notebook Server para executar um notebook escolhido sem nenhuma interação do usuário.

Anotação:

O número de tarefas do notebook em execução simultânea é limitado pela propriedade do sistema maxExecuteNotebookContainersPerNode no Notebook Server.

Criar um webhook

Os webhooks podem ser administrados na página de Configurações da organização do seu portal. Utilize as seguintes etapas para criar um webhook:

  1. Entre como administrador padrão ou papel personalizado com o privilégio de webhooks da organização.
  2. Navegue até Organização > Configurações > Webhooks.
  3. Clique em Criar webhook
  4. Especifique um nome de webhook.

    Name=mynotebook_webhook

  5. Selecione o tipo de evento que ativará o webhook.

    Por padrão, todos os tipos de eventos (Itens, Usuários, Grupos e Papéis) são considerados.

  6. Use Ativador para aceitar o valor padrão (/) ou especificar um ou mais valores como eventos ativadores.

    Eventos=/items, /items/<itemId>,/users

    Consulte Eventos ativadores suportados para obter mais informações.

    Para exemplos adicionais, consulte Eventos ativadores.

  7. Selecione Notebook como o tipo de carga útil.

    Anotação:
    Se a opção Notebook não estiver disponível, então Notebook Server não foi configurado com seu portal. Se Notebook estiver disponível, mas não puder ser selecionado, você não terá nenhum notebook disponível para configurar webhooks. Você deve ser proprietário de item do notebook que será usado para o webhook.

  8. Selecione o notebook que será executado quando o webhook for ativado.
  9. Opcionalmente, insira uma chave Secreta que será incluída na carga útil do webhook.

    Você também pode optar por usar valores aleatórios pré-gerados para a chave Secreta.

  10. Clique em Criar webhook para salvar as configurações do webhook e criar um webhook.

Gerenciar webhooks

Os webhooks podem ser administrados na página de Configurações da organização do seu portal. Use as seguintes etapas para gerenciar webhooks existentes:

  1. Entre como administrador padrão ou papel personalizado com o privilégio de webhooks da Organização.
  2. Navegue até Organização > Configurações > Webhooks para visualizar uma lista de webhooks criados por você e outros administradores de webhook.

Você pode gerenciar seus webhooks existentes com as seguintes operações.

  • Desativar webhook—Quando um webhook estiver em um estado ativo, clique em Ativo. Você será solicitado a confirmar a alteração no status. Clique em Confirmar para desativar o webhook. Desativar o webhook impede que as cargas úteis sejam entregues quando o webhook for ativado.
  • Ativar webhook—Quando um webhook estiver em um estado inativo, clique em Inativo. Você será solicitado a confirmar a alteração no status. Clique em Confirmar para ativar o webhook. Após um webhook ser ativado, ele retomará a entrega de cargas úteis.
  • Editar webhook—Clique no botão de opções no webhook e clique em Editar para atualizar os eventos ativadores de webhook ou o notebook especificado para o webhook.
  • Excluir webhook—Clique no botão de opções no webhook e clique emExcluir. Clique em Confirmar para excluir o webhook.

Configurações avançadas do webhook

Use as configurações de webhook Avançadas para alterar propriedades como o número de tentativas de entrega que podem ser feitas, notificações de tempo decorrido e propriedades de tempo limite de notificação para webhooks. Essas configurações avançadas serão aplicadas a todos os webhooks do portal. Siga estas etapas para modificar as configurações avançadas do webhook:

  1. Entre como administrador padrão ou papel personalizado com o privilégio de webhooks da Organização.
  2. Navegue até Organização > Configurações > Webhooks > configurações de webhook Avançadas para modificar os valores padrão das propriedades Avançadas do webhook.

Carga útil do webhook

Quando um notebook é executado por meio de um webhook, as informações de carga útil do webhook são injetadas automaticamente no notebook em uma célula inicial. Após injetadas, as informações fornecidas na carga útil do webhook podem ser usadas no notebook para fluxos de trabalho de automação adicionais.

Informações de carga útil do webhook incluídas em um notebook:

{
  "properties": {
    "itemId": "<itemId of the current notebook>"
  },
  "events": [
    {
      "source": "items",
      "id": "<itemId of the item that resulted in webhook trigger>",
      "userId": "<webhook user>",
      "when": \<epoch time in ms when webhook was triggered\>,
      "operation": "<type of operation that resulted in webhook trigger>",
      "properties": {},
      "username": "<webhook username>"
    }
  ],
  "info": {
    "webhookId": "<webhookId>",
    "portalURL": "<public portal url>",
    "webhookName": "<webhook name>",
    "when": \<epoch time in ms when webhook was triggered\>,
  }
}

Executar API do notebook

Os administradores e autores do notebook também podem automatizar um notebook para ser executado sem interação do usuário, usando a operação Executar Notebook no ArcGIS Notebook Server Administrator Directory. Essa operação executará automaticamente um notebook quando solicitada, mas usando seu próprio script personalizado, você pode agendá-la para ser executada automaticamente em um horário definido ou em um agendamento regular. Um trabalho cron ou agendador do Windows também pode ser usado para agendar a operação Executar Notebook para ser executada em um horário definido ou em um intervalo recorrente.

Para saber mais, consulte o tópico Executar notebook no guia de referência do Diretório de Administrador.