Passer au contenu principal
Procore

Se connecter à Amazon S3 à l’aide de Python

Aperçu

L’outil Procore Analytics Nuage Connect Access 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

  • Référence SKU Analytique Procore 2.0
  • 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 

Étapes

Configuration initiale

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

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

  • Configuration du partage Delta
  • Configuration de la cible S3
  • Préférences d’échéancier 

Configuration du partage Delta

  • 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 : URL de votre point de terminaison Delta Share.
    • Ces détails peuvent être obtenus à partir de l’interface utilisateur Web de Procore.
  • Étapes pour créer config.share : 
    • Créez un nouveau 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).
      • Laisser en blanc pour synchroniser tous les tableaux.
      • Exemple : table1, table2, table3.
  • Chemin d’accès à votre fichier config.share .

S3 Configuration

Vous devrez fournir les informations S3 suivantes :

  • Authentification :
    • Clé d’accès
    • Clé secrète
    • Nom du compartiment sans s3 ://
    • key - répertoire 

Options de planification

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

  • Configuration de la tâche Cron 
    • Choisissez si vous souhaitez configurer une tâche quotidienne. 
    • Si oui, fournissez un échéancier cron. 
    • Format : * * * * * (minute, heure, jour-de-mois, mois, jour de la semaine).
    • Exemple pour tous les jours à 2 heures du matin : 0 2 * * * 
    • Pour consulter 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 du terminal

Pour Linux et MacOS :    

Pour modifier/supprimer - modifiez le cron de l’échéancier en utilisant :

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

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

Pour Windows :

  • Vérifiez que la tâche de l’échéancier est créée :
    '''Powershell
    schtasks /query /tn « ProcoreDeltaShareScheduling » /fo LIST /v

    ```
  • Pour modifier/supprimer - tâche d’échéancier :
    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 échéancier :
    • 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 la tâche :
    • Supprimer la tâche de l’interface graphique.
  • Exécution immédiate 
    • Possibilité d’exécuter le delta_share_to_s3_.pStructure des fichiers
  • Non défini 

    ├── requirements.txt                    # Dépendances 
    ├── user_exp.py                                # Utilitaire de configuration
    ├── delta_share_to_s3.py            # Script de synchronisation des données
    ├── config.yaml                                  # Configuration générée
    ├── config.share                               # Fichier de configuration Delta Share
    ├── procore_scheduling.log       # Journal des exécutions d’ordonnancement 


    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 à Nuage Connect de Procore Analytics 
      • Cette interface de ligne de commande vous aidera à choisir votre magasin source et de destination pour accéder aux données Procore et les écrire 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 au fichier config.share : /chemin/vers/config.share.
      • Entrez la clé d’accès : clé s3.
      • Entrez secret : secret.
      • Entrer le compartiment : nom du compartiment.
      • Voulez-vous configurer cela comme un travail quotidien sur cron ? (Oui/Non) : Oui 
      • Saisir l’échéancier au format cron (p. ex. * * * * * ) : 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 vous propose de réutiliser les paramètres précédemment stockés : 
    • La configuration de la source peut être réutilisée.
    • La configuration de la 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 permissions système sont correctement configurées.
    • Vérifiez les journaux système si la tâche échoue à s’exécuter.
    • Vérifier le script (delta_share_to_s3.py) Exécuter les permissions.
  • 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.
  • Soutien
    • Consultez les journaux de script pour obtenir des messages d’erreur détaillés.
    • Examinez votre fichier config.yaml pour détecter les erreurs de configuration.
    • Contactez votre administrateur système pour les problèmes liés aux permissions.
    • Contactez l’assistance 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.