Saltar al contenido principal
Procore

Conéctese a Amazon S3 mediante Python

Descripción general

La herramienta Procore Analytics Nube Connect Access es una interfaz de línea de comandos (CLI) que le ayuda a configurar y administrar las transferencias de datos de Procore a Amazon S3 con Procore Analytics 2.0. 

Consta de dos componentes principales: 

  • user_exp.py: Utilidad de configuración
  • delta_share_to_s3.py: Script de sincronización de datos

Requisitos previos

  • SKU de Procore Analytics 2.0
  • Python está instalado en su sistema
  • Acceso a Procore Delta Share
  • Claves de acceso de S3
  • Instalación de las dependencias requeridas mediante:
    • pip install -r requirements.txt 

Pasos

Configuración inicial

Ejecute la utilidad de configuración usando python user_exp.py.

Esto te ayudará a configurar lo siguiente:

  • Configuración de recursos compartidos delta
  • Configuración de destino de S3
  • Preferencias de programación 

Configuración de recursos compartidos delta

  • Creación del archivo config.share 
  • Antes de ejecutar la utilidad de configuración, debe crear un archivo config.share con sus credenciales de Delta Share. El archivo debe estar en formato JSON: 

    "shareCredentialsVersion": 1, 
    "bearerToken": "xxxxxxxxxxxxx", 
    "punto final": "xxxxxx"

  • Campos obligatorios: 
    • ShareCredentialsVersion: número de versión (actualmente 1). 
    • BearerToken: Su token de acceso a Delta Share.
    • Punto de conexión: la URL del punto de conexión de Delta Share.
    • Estos detalles se pueden obtener en la interfaz de usuario web de Procore.
  • Pasos para crear config.share: 
    • Cree un nuevo archivo llamado config.share.
    • Copie la plantilla JSON anterior. 
    • Reemplace los valores de marcador de posición por sus credenciales reales. 
    • Guarde el archivo en un lugar seguro. 
    • Deberá proporcionar la ruta de acceso a este archivo durante la configuración. Al configurar la fuente de datos, se le pedirá que proporcione:
      • Lista de tablas (separadas por comas).
      • Dejar en blanco para sincronizar todas las tablas.
      • Ejemplo: tabla1, tabla2, tabla3.
  • Ruta de acceso al archivo config.share .

Configuración de S3

Deberá proporcionar los siguientes detalles de S3:

  • Autenticación:
    • Tecla de acceso
    • Clave secreta
    • Nombre del bucket sin s3://
    • Clave - Directorio 

Opciones de programación

La herramienta ofrece la posibilidad de programar la sincronización automática de datos.

  • Configuración de Cron Job 
    • Elija si desea configurar un trabajo diario. 
    • En caso afirmativo, proporcione un cron schedule. 
    • Formato: * * * * * (minuto, hora, día del mes, mes, día de la semana).
    • Ejemplo para todos los días a las 2 a.m.: 0 2 * * * 
    • Para verificar los registros de programación, el archivo 'procore_scheduling.log' se creará tan pronto como se configure la programación.

También puede verificar la programación ejecutando el comando terminal

Para Linux y MacOs:    

Para editar/eliminar - edite el cron de programación usando:

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

  • Después de ejecutar el comando anterior, debería ver algo similar a:
  • 2 * * * * /Usuarios/your_user/copo de nieve/venv/bin/python /Usuarios/your_user/copo de nieve/sql_server_python/connection_config.py 2>&1 | mientras se lee la línea; do echo "$(fecha) - $line"; done >> /Usuarios/your_user/copo de nieve/sql_server_python/procore_scheduling.log # procore-data-import
  • También puede ajustar el cron de programación o eliminar toda la línea para que deje de ejecutarse según el programa.

Para Windows:

  • Compruebe que se ha creado la tarea de programa:
    '''PowerShell
    schtasks /query /tn "ProcoreDeltaShareScheduling" /fo LIST /v

    ```
  • Para editar/eliminar - tarea de programación:
    Abra el Programador de tareas:
    • Presione Win + R, escriba taskschd.msc, y presione Enter.
    • Navegue hasta las tareas programadas.
    • En el panel izquierdo, expanda la Biblioteca del programador de tareas.
    • Busque la carpeta donde está guardada su tarea (por ejemplo, Biblioteca del programador de tareas o una carpeta personalizada).
  • Encuentre su tarea:
    • Busque el nombre de la tarea: ProcoreDeltaShareScheduling.
    • Haga clic en él para ver sus detalles en el panel inferior.
  • Verifica su horario:
    • Compruebe la pestaña Desencadenadores para ver cuándo está configurada la tarea para ejecutarse.
    • Compruebe la pestaña Historial para confirmar las ejecuciones recientes.
  • Para eliminar la tarea:
    • Eliminar tarea de la GUI.
  • Ejecución inmediata 
    • Opción para ejecutar el delta_share_to_s3_.pEstructura de archivos
  • Unset 

    ├── requirements.txt                    # Dependencias 
    ├── user_exp.py                                # Utilidad de configuración
    ├── delta_share_to_s3.py            # Script de sincronización de datos
    ├── config.yaml                                  # Configuración generada
    ├── config.share                               # Archivo de configuración de Delta Share
    ├── procore_scheduling.log       # Registro de ejecuciones de programación 


    Ejemplo de uso 
    • Paso 1: Instalar dependencias 
      $ pip install -r requirements.txt
    • Paso 2: Ejecutar la utilidad de configuración 
      $ python user_exp.py 
    • Acceso a Procore Analytics Nube Connect 
      • Esta CLI lo ayudará a elegir su almacén de origen y destino para acceder/escribir datos de Procore en S3. 
      • Presione Enter para continuar.
      • Ingrese a la lista de tablas (separadas por comas), déjela en blanco para todas las tablas: proyectos, usuarios, tareas.
      • Ingrese la ruta a config.share: /ruta/a/config.share.
      • Introduzca la clave de acceso: tecla s3.
      • Introduzca secreto: secreto.
      • Introduzca el cubo: nombre del cubo.
      • ¿Quieres configurar esto como un trabajo diario en cron? (Sí/No): Sí 
      • Ingrese el programa en formato cron (por ejemplo, * * * * * ): 0 2 * * * 
      • ¿Desea ejecutar el trabajo ahora? (Sí/No): Sí 
    • Paso 3: Ejecución manual (si es necesario)
      $ python delta_share_to_s3.py 
  • Reutilización de la configuración
    La herramienta guarda su configuración en el archivo config.yaml y le ofrece reutilizar la configuración almacenada anteriormente: 
    • La configuración de origen se puede reutilizar.
    • La configuración de destino (S3) se puede reutilizar. 
    • Puede optar por actualizar cualquiera de las configuraciones de forma independiente.

Solución de problemas 

Problemas comunes y soluciones

  • Configuración de Cron Job  
    • Asegúrese de que los permisos del sistema estén configurados correctamente.
    • Compruebe los registros del sistema si el trabajo no se puede ejecutar.
    • Verifique el script (delta_share_to_s3.py) Permisos de ejecución.
  • Archivo de configuración
    • Confirme que el archivo config.yaml está en el mismo directorio que el script.
    • Haga una copia de seguridad antes de realizar cualquier cambio.
  • Soporte
    • Revise los registros de scripts para ver los mensajes de error detallados.
    • Revise su archivo config.yaml para ver si hay errores de configuración.
    • Póngase en contacto con el administrador del sistema si tiene problemas relacionados con los permisos.
    • Comuníquese con el soporte de Procore para problemas de acceso a Delta Share.
    • Verifique la configuración del trabajo cron comprobando los registros del sistema: consulte el archivo 'procore_scheduling_log '.

Notas:

  1. Recuerde siempre hacer una copia de seguridad de su configuración antes de realizar cambios.
  2. Pruebe primero las nuevas configuraciones en un entorno que no sea de producción.