Skip to content

DP6/raft-suite-hub

Repository files navigation

Raft Suite Hub

semantic-release Code coverage Test Code quality

Raft-suite é um ecossistema criado pela DP6 para garantir a qualidade dos dados (Data Quality) nos projetos de engenharia de dados implementados nos clientes da DP6, através de monitoramento automatizados de dados.

O Hub é a solução responsável por centralizar a consolidação dos dados no BigQuery, ferramenta escolhida para servir de data warehouse do raft-suite.

Conteúdo

1. Requisitos para utilização

1.1 Produtos Google Cloud Platform (GCP)

  • Cloud Functions
  • BigQuery

1.2 Dependências do ambiente local

2. Instalando o hub

  1. Acesse o Cloud Shell ou um terminal com git e o gcloud sdk

  2. Clone o repositório

     git clone https://github.com/DP6/raft-suite-hub.git
  3. Em seguida, navegue para a pasta e use o comando deploy

     cd raft-suite-hub
     gcloud functions deploy hub-raft-suite-deploy --entry-point=app --trigger-http

    Opcionalmente, você pode preencher as variáveis de ambiente DATASET_ID, TABLE_ID e INSERT_TYPE com a flag --set-env-vars:

     cd raft-suite-hub
     gcloud functions deploy hub-raft-suite-deploy --entry-point=app --trigger-http --set-env-vars DATASET_ID=[dataset] TABLE_ID=[table] INSERT_TYPE=[batch ou stream]

3. Usando o Hub

Para utilizar, é preciso fazer uma requisição POST para a cloud function com um json no body. Por exemplo, em Node com axios:

const axio = require('axios');
let body = {
  module: 'penguin-datalayer-collect',
  spec: 'dp6_site',
  deploy: '2.0.0',
  code: '01-00',
  description: 'Saving collect data',
  payload: {
    status: 'OK',
    objectName: 'event',
    keyName: 'eventCategory',
    message: '',
  },
};
axios.post('https://us-central1-dp6-brasil.cloudfunctions.net/hub-raft-suite', body);

3.1 Schema da tabela

Parâmetro Tipo Exemplo Obritatório Descrição
body object - Sim Request body
body.project string Não Nome do projeto
body.module string penguin-datalayer Sim Nome do módulo que enviou a mensagem
body.spec string dp6_site Sim Detalhe sobre a execução do módulo
body.deploy number 2.1.0 Sim Versão do módulo ou cloud function
body.code string 01-00 Não Código usado para definir a dimensão e o status
body.description string Não Descrição do status
body.details string Não --
body.payload Object {} Não Informações específicas dos módulos, que serão escritas como JSON na tabela

4. Observações

Por padrão, as cloud functions do tipo http só podem ser executadas com autenticação. Por isso, a requisição post precisa ser feita de um local autenticado, ou com o token de autenticação.

Como contribuir

Pull requests são bem-vindos! Nós vamos adorar ajuda para evoluir esse modulo. Sinta-se livre para navegar por issues abertas buscando por algo que possa fazer. Caso tenha uma nova feature ou bug, por favor abra uma nova issue para ser acompanhada pelo nosso time.

Requisitos obrigatórios

Só serão aceitas contribuições que estiverem seguindo os seguintes requisitos:

Api Docs

Suporte

DP6 Koopa-troopa Team

e-mail: koopas@dp6.com.br

About

O Hub é a solução responsável por centralizar a consolidação dos dados no BigQuery, ferramenta escolhida para servir de data warehouse do raft-suite.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published