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
- Configuración de origen de recurso compartido delta
- Configuración de S3
- Opciones de programación
- Mejores prácticas
- Solución de problemas
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_.py Estructura 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
- Paso 1: Instalar dependencias
- 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:
- Recuerde siempre hacer una copia de seguridad de su configuración antes de realizar cambios.
- Pruebe primero las nuevas configuraciones en un entorno que no sea de producción.