Saltar al contenido principal
Procore

Conectarse a Amazon S3 mediante Python

Resumen

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

Consta de dos componentes principales: 

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

Requisitos

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

Pasos

Configuración inicial

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

Esto le ayudará a configurar lo siguiente:

  • Configuración del recurso compartido delta
  • Configuración de destino de S3
  • Preferencias de planificación 

Configuración del recurso compartido 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", 
    "endpoint": "xxxxxx"

  • Campos obligatorios: 
    • ShareCredentialsVersion: número de versión (actualmente 1). 
    • BearerToken: su token de acceso a recursos compartidos de Delta.
    • Punto final: la URL de punto final de su recurso compartido delta.
    • Estos detalles se pueden obtener en la interfaz de usuario web de Procore.
  • Pasos para crear config.share: 
    • Cree un nuevo archivo denominado config.share.
    • Copie la plantilla JSON anterior. 
    • Reemplace los valores del marcador de posición por sus credenciales reales. 
    • Guarde el archivo en una ubicación segura. 
    • 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).
      • Deje 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:
    • Clave de acceso
    • Clave secreta
    • Nombre del depósito sin s3://
    • clave - directorio 

Opciones de planificación

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

  • Configuración de trabajo cron 
    • Elija si desea configurar un proyecto diario. 
    • En caso afirmativo, proporcione una planificación cron. 
    • Formato: * * * * * (minuto hora día del mes mes día de la semana).
    • Ejemplo de diario a las 2:00: 0 2 * * * 
    • Para comprobar los registros de planificación, se creará el archivo "procore_scheduling.log" en cuanto se configure la planificación.

También puede verificar la planificación ejecutando el comando en el terminal

Para Linux y MacO:    

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

```golpe
EDITOR=nano crontab -e
```

  • Después de ejecutar el comando anterior, debería ver algo similar a:
  • 2 * * * * /Users/your_user/snowflake/venv/bin/python /Users/your_user/snowflake/sql_server_python/connection_config.py 2>&1 | while lee la línea; do echo "$(fecha) - $línea"; hecho >> /Users/su_usuario/copo de nieve/sql_server_python/procore_scheduling.log # procore-data-import
  • También puede ajustar el cron de la planificación o eliminar toda la línea para detener su ejecución según la planificación.

Para Windows:

  • Verifique que se haya creado la tarea de planificación:
    ```powershell
    schtasks /query /tn "ProcoreDeltaShareScheduling" /fo LIST /v

    ```
  • Para editar/eliminar - tarea de planificación:
    Abra el Programador de tareas:
    • Pulse Win + R, escriba taskchd.msc, y pulse Intro.
    • Vaya a las tareas planificadas.
    • En el panel izquierdo, expanda la Biblioteca del planificador de tareas.
    • Busque la carpeta donde está guardada su tarea (por ejemplo, la 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.
  • Verifique su planificación:
    • Consulte la pestaña Desencadenadores para ver cuándo está configurada la ejecución de la tarea.
    • Consulte la pestaña Historial para confirmar las ejecuciones recientes.
  • Para eliminar una tarea:
    • Eliminar tarea de la GUI.
  • Ejecución inmediata 
    • Opción para ejecutar delta_share_to_s3_.py Estructura de archivos
  • desarmar 

    ├── requisitos.txt                    N.º de dependencias 
    ├── experiencia_usuario.py                                # Utilidad de configuración
    ├── delta_share_to_s3.py            # Script de sincronización de datos
    ├── config.yaml                                  # Configuración generada
    ├── compartir configuración                               # Archivo de configuración de recurso compartido delta
    ├── procore_scheduling.log       N.º registro de ejecuciones de planificación 


    Ejemplo de uso 
    • Paso 1: Instalar las dependencias 
      $ pip install -r requisitos.txt
    • Paso 2: Ejecutar la utilidad de configuración 
      $ python experiencia_usuario.py 
    • Acceso a Procore Analytics Cloud Connect 
      • Esta CLI lo ayudará a elegir su tienda de origen y destino para acceder a/escribir datos de Procore en S3. 
      • Pulse Intro para continuar.
      • Introduzca la lista de tablas (separadas por comas). Déjelo en blanco para todas las tablas: proyectos, usuarios, tareas.
      • Introduzca la ruta a config.share: /ruta/a/config.share.
      • Introduzca la clave de acceso: tecla s3.
      • Introduzca secreto: secreto.
      • Introduzca el segmento: nombre del segmento.
      • ¿Desea configurar esto como un trabajo diario en cron? (Sí/No): Sí 
      • Introduzca la planificación en formato cron (p. ej., * * * * * ): 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 configuración
    La herramienta guarda su configuración en el archivo config.yaml y 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.

Resolución de problemas 

Problemas comunes y soluciones

  • Configuración de trabajo cron  
    • Asegúrese de que los permisos del sistema estén configurados correctamente.
    • Consulte los registros del sistema si el trabajo no se ejecuta.
    • 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 cambios.
  • Soporte
    • Revise los registros de scripts para ver los mensajes de error detallados.
    • Revise el archivo config.yaml para detectar errores de configuración.
    • Póngase en contacto con el administrador del sistema si tiene problemas relacionados con los permisos.
    • Póngase en contacto con el soporte técnico de Procore si tiene problemas de acceso a recursos compartidos delta.
    • Verifique la configuración del trabajo cron consultando 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.