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
- Configuración del origen del recurso compartido delta
- Configuración de S3
- Opciones de planificación
- Prácticas recomendadas
- Resolución de problemas
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
- Paso 1: Instalar las dependencias
- 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:
- 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.