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
- Configuração de origem do compartilhamento delta
- Configuração do S3
- Opções de agendamento
- Práticas recomendadas
- Solucionando problemas
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_.py Estrutura 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
- Etapa 1: Instalar dependências
- 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.:
- Lembre-se de sempre fazer backup de sua configuração antes de fazer alterações.
- Teste primeiro novas configurações em um ambiente que não seja de produção.