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 de big data que exige alta capacidade de processamento durante a noite, quando os recursos da sua máquina estão 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 execuções simultâneas de tarefas do notebook é limitado pela propriedade do sistema maxExecuteNotebookContainersPerNode noNotebook 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.
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, você pode criar, gerenciar e configurar webhooks. Você pode configurar webhooks para executar automaticamente um notebook de sua propriedade quando ocorrerem eventos associados aos itens, grupos ou usuários do portal. 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 execuções simultâneas de notebooks via webhooks é limitado pela propriedade do sistema maxExecuteNotebookContainersPerNode no Notebook Server.
Criar um webhook
Os webhooks podem ser administrados somente através do ArcGIS Portal Directory (Compartilhando API). Utilize as seguintes etapas para criar um webhook:
- Navegue até o ArcGIS Portal Directory.https://machine.domain.com/webadaptor/sharing/rest
- Entre como um administrador.
Webhooks podem ser criados e gerenciados somente por um administrador.
A página do usuário administrador é exibida.
- Clique no hiperlink ID da Organização ou faça uma solicitação do formulário abaixo, para ir até a página de recursos do Portal Self.https://machine.domain.com/webadaptor/sharing/rest/portals/<orgID>
- Role até a parte inferior da página, para Webhooks em Recursos Dependentes.https://machine.domain/com/webadaptor/sharing/rest/portals/<orgID>/webhooks
- Em Operação Suportada, selecione Criar Webhook.
- Especifique os parâmetros para o seu webhook. Para criar um webhook automatizando um notebook, forneça as seguintes informações:
Parâmetro Detalhes name (Exigido)
Especifica o nome do webhook.
Exemplo: name=mynotebook_webhook
url (Opcional)
A URL de carga útil não é necessária ao configurar um webhook para notebooks, pois o sistema a derivará automaticamente. Você não precisa fornecer essas informações.
config (Exigido)
Define as propriedades de configuração do seu webhook.
Anotação:
Você deve ser um administrador e ter o item de notebook a ser executado via webhook.
Exemplo:
{ "deactivationPolicy": { "numberOfFailures": 5, "daysInPast": 5 }, "properties": { "federatedServer": { "itemId": "<Notebook item id to be executed>", "tokenTypeToSend": "owner", "tokenExpirationTimeMinutes": 10 } } }
events (Opcional)
A representação da URI de um evento que ativará o webhook. Este parâmetro é necessário se changes estiver especificado como manual. Para mais informações, consulte a seção Eventos do ativador com suporte. Para exemplos adicionais de eventos do ativador, consulte a seção Eventos do Ativador de Criar webhooks na documentação de REST API.
Exemplo:
events=/items,/users
Consulte a documentação de REST API do webhook para detalhes sobre estes parâmetros.
Seu webhook agora está listado em webhooks: https://machine.domain.com/webadaptor/sharing/rest/portals/<orgID>/webhooks.
Para obter mais informações sobre automação usando webhooks, consulte o tópico de ajuda Criar e gerenciar webhooks.
Gerenciar webhooks
Você pode gerenciar seus webhooks através do ArcGIS Portal Directory, fazendo uma solicitação do seguinte formulário:
As operações suportadas para gerenciar seus webhooks são as seguintes:
- Update Webhook—Atualiza os parâmetros do seu webhook. Você pode atualizar o nome, URL de carga útil, configuração ou eventos de ativação para o webhook especificado.
- Delete Webhook—Remove o webhook do seu portal.
- Deactivate Webhook e Activate Webhook—Desativa seu webhook, que impede que as cargas sejam entregues quando o webhook é ativado. Quando o webhook é desativado, a operação Ativar Webhook fica disponível para retomar a entrega de cargas úteis.
A página Notification Status exibe informações relacionadas aos eventos de ativação associados ao webhook específico. Você pode utilizar esta tabela para monitorar seu webhook, como também, detalhes de cargas úteis entregues, como a hora na qual o webhook foi ativado e as respostas recebidas da URL de carga útil e da carga útil entregue. Registros indicando a entrega bem-sucedida de uma carga útil são removidos após um dia. Registros que indicam uma tentativa de entrega com falha são armazenados por sete dias.
Consulte o Webhooks API por exemplos destas operações.
Para obter mais informações sobre automação usando webhooks, consulte o tópico de ajuda Criar e gerenciar webhooks.
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. Esta operação executará automaticamente um notebook quando solicitada, mas usando seu próprio script personalizado, você pode agendar uma execução automatizada para ocorrer 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.
Máximo de execuções simultâneas de notebook automatizado
Quando um notebook é executado por meio de uma tarefa agendada, o webhook ou a API de execução do notebook, o ArcGIS Notebook Server 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.