Pular para o conteúdo principal
Procore

Conectar-se ao Amazon S3 usando Python

Visão geral

A ferramenta Procore Analytics Cloud Connect Access é uma interface de linha de comando (CLI) que ajuda a configurar e gerenciar transferências de dados do Procore para o Amazon S3 com Procore Analytics 2.0. 

Consiste em dois componentes principais: 

  • user_exp.py: Utilitário configuração configuração
  • delta_share_to_s3.py: Script de sincronização de dados

Pré-requisitos

  • Procore Analytics 2.0 SKU
  • Python está instalado no seu sistema
  • Acesso ao compartilhamento Delta do Procore
  • Teclas de acesso do S3
  • Instalação das dependências necessárias utilizando:
    • pip install -r requirements.txt 

Passos

Configuração Inicial

Execute o utilitário de configuração usando python user_exp.py.

Isso ajudará você a configurar o seguinte:

  • Configuração de compartilhamento delta
  • Configuração de destino do S3
  • Preferências de Agendamento 

Configuração de compartilhamento delta

  • Criando o arquivo config.share 
  • Antes de executar o utilitário de configuração, você precisa criar um arquivo config.share com seu Delta Share credenciais. O arquivo deve estar no formato JSON: 

    "shareCredentialsVersion": 1, 
    "bearerToken": "xxxxxxxxxxxxx", 
    "Ponto de extremidade": "xxxxxx"

  • Campos obrigatórios: 
    • ShareCredentialsVersion: Número da versão (atualmente 1). 
    • BearerToken: Seu token de acesso Delta Share.
    • Ponto de extremidade: seu endpoint de compartilhamento Delta URL.
    • Esses detalhes podem ser obtidos na interface do usuário da Web do Procore.
  • Etapas para criar config.share: 
    • Crie um novo arquivo chamado config.share.
    • Copie o modelo JSON acima. 
    • Substitua os valores de espaço reservado pelo seu credenciais real. 
    • Salve o arquivo em um local seguro. 
    • Você precisará fornecer o caminho para esse arquivo durante a configuração. Ao configurar a fonte de dados, você será solicitado a fornecer:
      • Lista de tabelas (separadas por vírgula).
      • Deixe em branco para sincronizar todas as tabelas.
      • Exemplo: tabela1, tabela2, tabela3.
  • Caminho para o arquivo config.share .

Configuração do S3

Você precisará fornecer os seguintes detalhes do S3:

  • Autenticação:
    • Chave de acesso
    • Chave Secreta
    • Nome do bucket sem s3://
    • Key - Diretório 

Opções de agendamento

A ferramenta oferece a capacidade de agendar a sincronização automática de dados.

  • Configuração do trabalho Cron 
    • Escolha se deseja configurar um trabalho diário. 
    • Se sim, forneça um cronograma cron. 
    • Formato: * * * * * (minuto hora dia-do-mês mês, dia-da-semana).
    • Exemplo para diariamente às 2 da manhã: 0 2 * * * 
    • Para verificar os registros de agendamento, o arquivo 'procore_scheduling.log' será criado assim que o agendamento for configurado.

Você também pode verificar o agendamento executando o comando do terminal

Para Linux e MacOs:    

Para editar/excluir - edite o cron de agendamento usando:

''Bash
EDITOR=nano crontab -e
```

  • Depois de executar o comando acima, você verá algo semelhante a:
  • 2 * * * * /Users/your_user/snowflake/venv/bin/python /Users/your_user/snowflake/sql_server_python/connection_config.py 2>&1 | durante a linha de leitura; fazer echo "$(date) - $line"; feito >> /Users/your_user/snowflake/sql_server_python/procore_scheduling.log #procore-data-import
  • Você também pode ajustar o cron do cronograma ou excluir toda a linha para interrompê-lo em execução por agendamento.

Para Windows:

  • Verifique se a tarefa do cronograma foi criada:
    '''powershell
    schtasks /query /tn "ProcoreDeltaShareScheduling" /fo LIST /v

    ```
  • Para editar/excluir - agendando tarefa:
    Abra o Agendador de Tarefas:
    • Pressione Win + R, digite taskschd.msc, e pressione Enter.
    • Navegue até as tarefas agendadas.
    • No painel esquerdo, expanda a Biblioteca do Agendador de Tarefas.
    • Procure a pasta onde sua tarefa foi salva (por exemplo, Biblioteca do Agendador de Tarefas ou uma pasta personalizada).
  • Encontre sua tarefa:
    • Procure o nome da tarefa ProcoreDeltaShareScheduling.
    • Clique nele para visualizar seus detalhes no painel inferior.
  • Confira sua programação:
    • Verifique a guia Gatilhos para ver quando a tarefa está definida para ser executada.
    • Verifique a guia Histórico para confirmar as execuções recentes.
  • Para excluir tarefa:
    • Exclua a tarefa da GUI.
  • Execução Imediata 
    • Opção para executar o delta_share_to_s3_.pEstrutura de arquivos
  • Unset 

    ├── requirements.txt                    # Dependências 
    ├── user_exp.py                                # Utilitário de configuração
    ├── delta_share_to_s3.py            # Script de sincronização de dados
    ├── config.yaml                                  # Configuração gerada
    ├── config.share                               # Arquivo de configuração do Delta Share
    ├── procore_scheduling.log       # Log de execuções de agendamento 


    Exemplo de uso 
    • Etapa 1: Instalar dependências 
      $ pip instalar -r requirements.txt
    • Etapa 2: Executar o utilitário de configuração 
      $ python user_exp.py 
    • Acesso ao Procore Analytics Cloud Connect 
      • Essa CLI ajudará você a escolher seu armazenamento de origem e de destino para acessar/gravar dados do Procore no S3. 
      • Pressione Enter para continuar.
      • Insira a lista de tabelas (separadas por vírgula), deixe-a em branco para todas as tabelas: projetos,usuários,tarefas.
      • Digite o caminho para config.share: /caminho/para/config.share.
      • Digite a chave de acesso: chave s3.
      • Digite segredo: segredo.
      • Digite bucket: nome do bucket.
      • Você quer configurar isso como um trabalho diário no cron? (Sim/Não): Sim 
      • Insira o cronograma no formato cron (por exemplo, * * * * * ): 0 2 * * * 
      • Quer executar o trabalho agora? (Sim/Não): Sim 
    • Etapa 3: Execução manual (se necessário)
      $ python delta_share_to_s3.py 
  • Reutilização de configuração
    A ferramenta salva sua configuração no arquivo config.yaml e oferece a reutilização de configurações armazenadas anteriormente: 
    • A configuração de origem pode ser reutilizada.
    • A configuração de destino (S3) pode ser reutilizada. 
    • Você pode optar por atualizar qualquer configuração independentemente.

Solucionando problemas 

Problemas e soluções comuns

  • Configuração do trabalho Cron  
    • Verifique se as permissões do sistema estão configuradas corretamente.
    • Verifique os logs do sistema se o trabalho não for executado.
    • Verifique o script (delta_share_to_s3.py) permissões de execução.
  • Arquivo de configuração
    • Confirme se o arquivo config.yaml está no mesmo diretório que o script.
    • Faça backup antes de fazer qualquer alteração.
  • Suporte
    • Revise os logs de script para obter mensagens de erro detalhadas.
    • Revise seu arquivo config.yaml em busca de configurações incorretas.
    • Entre em contato com o administrador do sistema para problemas relacionados à permissão.
    • Entre em contato com suporte do Procore para problemas de acesso ao Delta Share.
    • Verifique a configuração do trabalho cron verificando os logs do sistema: Consulte o arquivo 'procore_scheduling_log'.

Obs.:

  1. Lembre-se de sempre fazer backup de sua configuração antes de fazer alterações.
  2. Teste primeiro novas configurações em um ambiente que não seja de produção.