Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

[Sugestão] Código em Python

Refiz o código de Javascript em Python. Segue como sugestão para uma alternativa a aula. Só não consegui trabalhar com data e hora porque o N8N não permitiu usar a biblioteca time. Então coloquei a data e hora no nó de envio de email.

total_linhas = len(_items)
link = 'https://docs.google.com/spreadsheets/d/xxxx/edit'

mensagem = {'json': {'mensagem': f'Base atualizada com {total_linhas} registros.', 'link' : f'Link: {link}'}}

return mensagem

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Nó de envio de email:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Olá, Vinicius. Como vai?

Excelente contribuição! É muito bacana ver alunos explorando as alternativas que o n8n oferece. Desde que o suporte nativo a Python foi adicionado nos nós de código (substituindo a necessidade de usar JavaScript para tudo), abre-se um leque fantástico de opções para quem já domina a linguagem.

O seu código ficou muito limpo, e a solução que você encontrou para contornar a limitação da biblioteca de tempo, movendo a lógica da data diretamente para a expressão do nó de e-mail, foi uma ótima saída de design de fluxo!

Para agregar ainda mais valor à sua sugestão e solucionar o ponto sobre trabalhar com datas dentro do nó de Python no n8n, trago algumas informações e dicas práticas:


Por que o n8n barrou a biblioteca time?

O n8n executa o código Python dentro de um ambiente seguro e isolado (com limitações de sandbox). Por padrão, muitos módulos nativos do Python que interagem com o sistema operacional ou com o tempo do servidor ficam desativados para evitar problemas de performance ou segurança.

No entanto, a biblioteca padrão recomendada para manipulação de horários em Python é a datetime. Na maioria das versões recentes do n8n, o módulo datetime costuma estar liberado para uso.


Como manipular Data e Hora no nó de Python

Caso você queira concentrar toda a geração do texto (incluindo a data formatada) dentro do próprio script Python para deixar o nó de e-mail ainda mais limpo, você pode testar a seguinte estrutura:

from datetime import datetime

total_linhas = len(_items)
link = 'https://docs.google.com/spreadsheets/d/xxxx/edit'

# Obtém a data e hora atual no formato brasileiro (DD/MM/AAAA HH:MM:SS)
data_atual = datetime.now().strftime('%d/%m/%Y %H:%M:%S')

mensagem = {
    'json': {
        'mensagem': f'Base atualizada com {total_linhas} registros.', 
        'link': f'Link: {link}',
        'data': f'Data da atualização: {data_atual}'
    }
}

return mensagem

Se o seu ambiente do n8n permitir a importação do from datetime import datetime, a variável {{ $json.data }} chegará pronta para o seu nó de e-mail, exatamente como você fez com os outros campos.

Parabéns por compartilhar o código convertido com a comunidade! Com certeza vai ajudar muitos estudantes que preferem focar em Python durante a construção de suas automações.

Espero que possa ter lhe ajudado!