Bibliotecas disponíveis

Conheça algumas das bibliotecas nativas e externas já instaladas no seu workspace prontas para uso através dos conectores Function em JavaScript e Python.

Introdução

Trabalhar em um ambiente seguro e isolado é essencial para garantir a eficiência, especialmente ao explorar os workspaces do Floui. Nessas situações, ter acesso a bibliotecas nativas ou externas da sua linguagem de preferência pode ser um diferencial significativo, economizando tempo no desenvolvimento de fluxos de integração e reduzindo o esforço técnico necessário.

Neste artigo, vamos apresentar as principais bibliotecas internas e externas para Node.js e Python, destacando como elas podem ser utilizadas de maneira prática e eficiente para otimizar os projetos de integração da sua equipe.

Versão instalada

Os workspaces no Floui são configurados com suporte às linguagens Node.js v18 e Python 3.11 através de conectores de funçõe, suportados por imagens Docker otimizadas com base na distribuição Alpine Linux.

Node.js 18

Bibliotecas nativas

Estas bibliotecas fazem parte do Node.js e não exigem instalação adicional ou importação no conector Function JavaScript.

  • Crypto: biblioteca para operações criptográficas como hashing e geração de chaves. Aplicada em segurança, encriptação de dados.

  • Buffer: utilizado para manipulação de dados binários. Comumente usada com trabalhos em arquivos, sockets e streams.

  • FormData: classe para criar e manipular dados de formulários. Usada no envio de arquivos e dados de requisições HTTP.

  • URLSearchParams: classe para lidar com parâmetros de URLs. Gerar, parsear ou modificar query strings.

  • : API para realizar requisições HTTP de forma nativa. Utilizada em requisições REST e chamadas de APIs.

Bibliotecas externas

Bibliotecas externas requerem o uso da propriedade require e podem ser usadas na função reservada do Floui, a handler(msg).

  • cheerio: biblioteca para manipulação de HTML e scraping. Aplicada no parseamento de HTML e extração de dados de páginas web.

  • lodash: uma biblioteca utilitária para manipulação de arrays, objetos e outros tipos de dados. Usada na clonagem, ordenação, filtragem, agrupamento, entre outros.

  • underscore: outra biblioteca utilitária similar ao lodash, com foco em simplicidade. Aplicada no processo de manipulação de coleções, arrays e objetos.

  • oauth-1.0a: implementação de OAuth 1.0a. Aplicado na autenticação de usuários em sistemas que utilizam OAuth 1.0a.

Dica de Segurança: Ao implementar o OAuth 1.0a, é fundamental seguir as melhores práticas de segurança para mitigar vulnerabilidades conhecidas. Certifique-se de que todas as requisições sejam assinadas corretamente e utilize tokens de acesso com validade limitada. Além disso, considere a migração para o OAuth 2.0, que oferece melhorias significativas em segurança e flexibilidade.

  • axios: biblioteca para realizar requisições HTTP. Comunicação com APIs e servidores.

  • fast-json-stable-stringify: serializador JSON que mantém a ordem das chaves estável. Usado ao criar strings JSON determinísticas (útil em assinaturas digitais).

  • moment: biblioteca para manipulação e formatação de datas e horários. Trabalha com fusos horários, cálculos de tempo, e exibição de datas amigáveis.

  • slug: utilitário para gerar slugs amigáveis de URLs a partir de strings. Transformar "Exemplo de título" em "exemplo-de-titulo".

  • openai: biblioteca oficial para integrar com APIs da OpenAI. Gerenciar modelos como GPT, DALL-E, etc.

A biblioteca OpenAI está disponível a partir da release 1.6.0. Em caso de dúvidas, contate a nossa equipe comercial ou entre em contato com os nossos canais de suporte.

Python 3.11

Bibliotecas externas

  • FirebirdSQL: biblioteca que fornece suporte para interagir com o banco de dados Firebird. Permite executar comandos SQL, gerenciar transações e configurar conexões.

Exemplos de uso

As bibliotecas disponíveis podem ser consumidas através do conector Function Javascript ou Python, utilizando a função reservada handler( ) para manipular o objeto msg da execução do fluxo. Veja alguns exemplos abaixo.

Bibliotecas externas em Javascript

const axios = require('axios');

async function handler(msg) {
    try {
        // Realiza uma requisição GET para uma API externa
        const response = await axios.get('https://api.exemplo.com/dados');

        // Adiciona os dados obtidos ao objeto msg
        msg.dadosExternos = response.data;
    } catch (error) {
        // Em caso de erro, adiciona a mensagem de erro ao objeto msg
        msg.erro = error.message;
    }

    return msg;
}

Bibliotecas ou funções nativas no Node.js

async function handler(msg) {
    // Supondo que msg contenha um objeto com dados que deseja converter em query string
    const dados = {
        nome: 'João',
        idade: 30,
        cidade: 'Curitiba'
    };

    // Cria uma instância de URLSearchParams com os dados
    const params = new URLSearchParams(dados);

    // Converte os parâmetros para uma string de consulta
    const queryString = params.toString();

    // Adiciona a query string ao objeto msg
    msg.queryString = queryString;

    return msg;
}

Saiba mais sobre contextos de execução e funções reservadas do Floui em Function Javascript.

Last updated

Was this helpful?