Skip to content

Python que obtem detalhes dos cliques no Short.io e insere no BigQuery

License

Notifications You must be signed in to change notification settings

evertonsmoraes/shortio_obter_cliques_links

Repository files navigation

Short.io obter os cliques nos links encurtados

Python que obtem detalhes dos cliques no Short.io e insere no BigQuery

Tecnologias Utilizadas

Short.io PYTHON COLAB BIGQUERY API

Macro Fluxo

flowchart 

subgraph log
  input_log(mensagem: string)
end

subgraph ultima_data ["obter_ultima_data_bigquery"]
  out_ulitma_data(return: str)
end

subgraph browsers_bq ["obter_browsers_bigquery"]
  out_browsers_bq(return: list)
end

limite_lote("limite_lote")

list_dominio("id_dominio: list [:2]")

ultima_data --> ult_data_bigquery
ult_data_bigquery --> data_vazia{ult_data_bigquery está vazia?}
data_vazia-->|Sim|data_vazia_sim[data_inicio == D-365]
data_vazia-->|Não|data_vazia_nao[data_inicio == ult_data_bigquery]
data_vazia_sim-->fim_intervalo[fim_intervalo == D-1]
data_vazia_nao-->fim_intervalo
fim_intervalo-->data_atual[data_atual == data_inicio]
data_atual-->loop_data

subgraph loop_data["loop data_atual"]
  list_dominio -->loop_dominio
  subgraph loop_dominio["loop id_dominio"]
    subgraph obter1 ["obter_clicks_data_dominio"]
      in_obter1(id_dominio: str
data: str
limite_lote: int)
      out_obter1(return: dict)
    end

    subgraph inserir_bq ["inserir_dados_bigquery"]
      int_inserir_bq(df: DataFrame)
    end

    df_click(df_click)
    obter1 --> df_click
    df_click-->check_click{"len(df_click)==0"}
    check_click-->|Sim|check_click_sim[Sem cliques localizados]
    check_click_sim-->incrementar_data
    check_click-->|Não|check_limit_click{"len(df_click)==limite_lote"}
    limite_lote-->check_limit_click
    check_limit_click-->|Não|check_limit_click2{"len(df_click)<=limite_lote"}
    limite_lote-->check_limit_click2
    check_limit_click2-->|Sim|insere_registros
    insere_registros-->inserir_bq
    check_limit_click-->|Sim|loop_browsers
    browsers_bq-->loop_browsers

    subgraph loop_browsers
      subgraph obter2["obter_clicks_data_dominio_browser"]
        in_obter2(id_dominio: ste
browser: strg
data: str
limite_lote: int)
        out_obter2(return: dict)
      end

    df_click2(df_click)
    obter2 --> df_click2
    df_click2-->check_click2{"len(df_click)==0"}
    check_click2-->|Sim|check_click2sim[Sem cliques localizados]
    check_click2sim-->incrementar_data
    check_click2-->|Não|check_click3{"len(df_click)>0"}
    check_click3-->|Sim|insere_registros2("insere registros")
    insere_registros2-->inserir_bq
    inserir_bq-->incrementar_data("data_atual = data_atual+1")
    incrementar_data-->reinicia_loop("reinicia o 'loop data_atual'")
        

    end 
    
    
  end
  
end

Loading

About

Python que obtem detalhes dos cliques no Short.io e insere no BigQuery

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published