Passer au contenu principal
Procore

Se connecter à Amazon S3 à l’aide de Python

Vue d'ensemble

L’outil d’accès à Cloud Connect de Procore Analytics est une interface de ligne de commande (CLI) qui vous aide à configurer et à gérer les transferts de données de Procore vers Amazon S3 avec Procore Analytics 2.0. 

Il se compose de deux composantes principales : 

  • user_exp.py: Utilitaire de configuration
  • delta_share_to_s3.py: Script de synchronisation des données

Conditions préalables

  • Procore Analytics 2.0 SKU
  • Python est installé sur votre système
  • Accès à Procore Delta Share
  • Touches d’accès S3
  • Installation des dépendances requises à l’aide de :
    • pip install -r requirements.txt 

Procédure

Configuration initiale

Exécutez l’utilitaire de configuration à l’aide de python user_exp.py.

Cela vous aidera à configurer les éléments suivants :

  • Delta Share Configuration
  • Configuration de la cible S3
  • Préférences de planification 

Delta Share Configuration

  • Création d’un fichier config.share 
  • Avant d’exécuter l’utilitaire de configuration, vous devez créer un fichier config.share avec vos informations d’identification Delta Share. Le fichier doit être au format JSON : 

    « shareCredentialsVersion » : 1, 
    « bearerToken » : « xxxxxxxxxxxxx », 
    « endpoint » : « xxxxxx"

  • Champs obligatoires : 
    • ShareCredentialsVersion : numéro de version (actuellement 1). 
    • BearerToken : votre jeton d’accès Delta Share.
    • Point de terminaison : l’URL de votre point de terminaison Delta Share.
    • Ces détails peuvent être obtenus à partir de l’interface utilisateur Web de Procore.
  • Étapes à suivre pour créer config.share : 
    • Créez un fichier nommé config.share.
    • Copiez le modèle JSON ci-dessus. 
    • Remplacez les valeurs d’espace réservé par vos informations d’identification réelles. 
    • Enregistrez le fichier dans un emplacement sûr. 
    • Vous devrez fournir le chemin d’accès à ce fichier lors de la configuration. Lors de la configuration de la source de données, il vous sera demandé de fournir les informations suivantes :
      • Liste des tableaux (séparés par des virgules).
      • Laissez le champ vide pour synchroniser tous les tableaux.
      • Exemple : table1, table2, table3.
  • Chemin d’accès à votre fichier config.share .

S3 Configuration

Vous devrez fournir les détails S3 suivants :

  • Authentification:
    • Clé d’accès
    • Clé secrète
    • Nom du compartiment sans s3 ://
    • clé - annuaire 

Options de planification

L’outil offre la possibilité de programmer une synchronisation automatique des données.

  • Configuration de la tâche Cron 
    • Choisissez de configurer ou non une tâche quotidienne. 
    • Si oui, fournissez un planning cron. 
    • Format : * * * * * (minute, heure, jour-du-mois, mois, jour de la semaine).
    • Exemple pour tous les jours à 2 heures du matin : 0 2 * * * 
    • Pour vérifier les journaux de planification, le fichier 'procore_scheduling.log' sera créé dès que la planification est configurée.

Vous pouvez également vérifier la planification en exécutant la commande terminal

Pour Linux et MacOS :    

Pour modifier/supprimer - modifier le cron de la planification à l’aide de :

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

  • Après avoir exécuté la commande ci-dessus, vous devriez voir quelque chose de similaire à :
  • 2 * * * * /Utilisateurs/your_user/flocon de neige/venv/bin/python /Utilisateurs/your_user/flocon de neige/sql_server_python/connection_config.py 2>&1 | pendant la ligne de lecture ; do echo « $(date) - $line » ; done >> /Users/your_user/snowflake/sql_server_python/procore_scheduling.log # procore-data-import
  • Vous pouvez également ajuster le cron du planning ou supprimer la ligne entière pour l’empêcher de fonctionner selon le planning.

Pour Windows :

  • Vérifiez que la tâche du planning est créée :
    '''PowerShell
    schtasks /query /tn « ProcoreDeltaShareScheduling » /fo LIST /v

    ```
  • Pour modifier/supprimer - planification de la tâche :
    Ouvrez le planificateur de tâches :
    • Appuyez sur Win + R, tapez taskschd.msc, et appuyez sur Entrée.
    • Accédez aux tâches planifiées.
    • Dans le volet gauche, développez la bibliothèque du planificateur de tâches.
    • Recherchez le dossier dans lequel votre tâche est enregistrée (par exemple, la bibliothèque du planificateur de tâches ou un dossier personnalisé).
  • Trouvez votre tâche :
    • Recherchez le nom de la tâche ProcoreDeltaShareScheduling.
    • Cliquez dessus pour afficher ses détails dans le volet inférieur.
  • Vérifiez son planning :
    • Vérifiez l’onglet Déclencheurs pour voir quand la tâche est définie pour s’exécuter.
    • Consultez l’onglet Historique pour confirmer les exécutions récentes.
  • Pour supprimer une tâche :
    • Supprimer la tâche de l’interface graphique.
  • Exécution immédiate 
    • Option d’exécution de l’delta_share_to_s3_.pStructure du fichier
  • Unset 

    ├── requirements.txt                    # Dépendances 
    ├── user_exp.py                                # Utilitaire de configuration
    ├── delta_share_to_s3.py            # Script de synchronisation des données
    ├── config.yaml                                  # Généré configuration
    ├── config.share                               # Fichier de configuration Delta Share
    ├── procore_scheduling.log       # Registre des exécutions de planning 


    Exemple d’utilisation 
    • Étape 1: Installer les dépendances 
      $ pip install -r requirements.txt
    • Étape 2: Exécuter l’utilitaire de configuration 
      $ python user_exp.py 
    • Accès à Procore Analytics Cloud Connect 
      • Cette interface de ligne de commande vous aidera à choisir votre magasin source et votre magasin de destination pour accéder/écrire des données Procore dans S3. 
      • Appuyez sur Entrée pour continuer.
      • Entrez la liste des tableaux (séparés par des virgules), laissez-la vide pour tous les tableaux : projets, utilisateurs, tâches.
      • Entrez le chemin d’accès à config.share : /chemin/vers/config.share.
      • Entrez la clé d’accès : clé s3.
      • Entrez secret : secret.
      • Enter bucket : nom du bucket.
      • Voulez-vous configurer cela comme un travail quotidien sur cron ? (Oui/Non) : Oui 
      • Saisissez le planning au format cron (par exemple, * * * * * ) : 0 2 * * * 
      • Voulez-vous exécuter le travail maintenant ? (Oui/Non) : Oui 
    • Étape 3: Exécution manuelle (si nécessaire)
      $ python delta_share_to_s3.py 
  • Réutilisation de la configuration
    L’outil enregistre votre configuration dans le fichier config.yaml et propose de réutiliser les paramètres précédemment stockés : 
    • La configuration source peut être réutilisée.
    • La configuration cible (S3) peut être réutilisée. 
    • Vous pouvez choisir de mettre à jour l’une ou l’autre configuration indépendamment.

Dépannage 

Problèmes courants et solutions

  • Configuration de la tâche Cron  
    • Assurez-vous que les autorisations système sont correctement configurées.
    • Vérifiez les journaux système si la tâche ne parvient pas à s’exécuter.
    • Vérifier le script (delta_share_to_s3.py) Exécuter des autorisations.
  • Fichier de configuration
    • Vérifiez que le fichier config.yaml se trouve dans le même répertoire que le script.
    • Sauvegardez avant d’apporter des modifications.
  • Support technique
    • Consultez les journaux de script pour obtenir des messages d’erreur détaillés.
    • Vérifiez que votre fichier config.yaml ne contient pas d’erreurs de configuration.
    • Contactez votre administrateur système pour les problèmes liés aux autorisations.
    • Contactez le support technique Procore pour les problèmes d’accès à Delta Share.
    • Vérifiez la configuration de la tâche cron en vérifiant les journaux système : Voir le fichier 'procore_scheduling_log '.

Remarques :

  1. N’oubliez pas de toujours sauvegarder votre configuration avant d’apporter des modifications.
  2. Testez d’abord les nouvelles configurations dans un environnement hors production.