Se connecter à Amazon S3 à l’aide de Python

Aperçu

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

Il se compose de deux composantes principales :

  • user_exp.py: Utilitaire de configuration

  • delta_share_to_s3.py: Données script de synchronisation

Conditions préalables

  • Référence SKU Analytics 2.0

  • Python est installé sur votre système

  • Accès à Procore Delta Share

  • Touches d’accès S3

  • Téléchargez le lot de fichiers zip à partir de l’outil Analytics niveau Entreprise (via Analytics > Mise en route > Options de connexion > AWS).

  • Installation des dépendances requises à l’aide de :

    • pip install -r requirements.txt

Escalier

  • Configuration initiale

  • Configuration de la source de partage Delta

  • S3 Configuration

  • Options de planification

  • Meilleures pratiques

  • Dépannage

Configuration initiale

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

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

  • Delta Share Configuration

  • Configuration de la cible S3

  • Préférences de Planning

Delta Share Configuration

  • Création d’un fichier config.share

  • Avant d’exécuter l’utilitaire de configuration, vous devez créer un config.sharefichier avec votre identifiants Delta Share. Le fichier doit être au format JSON :
    {
    "shareCredentialsVersion": 1,
    "bearerToken": "xxxxxxxxxxxxx",

    • 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.
      "endpoint": "xxxxxx"
      }

  • Champs obligatoires :

  • É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 identifiants d’identification réels.

    • Enregistrez le fichier dans un lieu 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 :

      • 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 du projet Cron

    • Choisissez de configurer ou non un projet quotidien.

    • Si oui, fournissez un planning cron.

    • Format : * * * * *(minute, heure, jour, jour du 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 sera configurée.

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

Pour Linux et MacOS :

Pour modifier/supprimer - modifiez le cron de Planning à 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 * * * * /Users/your_user/snowflake/venv/bin/python
    /Users/your_user/snowflake/sql_server_python/connection_config.py 2>&1 | while read line; 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 le tâche de planning est créé :
    powershell
    schtasks /query /tn "ProcoreDeltaShareScheduling" /fo LIST /v

    • 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é).

  • Pour modifier/supprimer - tâche de planning :
    Ouvrez le planificateur de tâche :

  • Trouvez votre tâche :

    • Recherchez le nom 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 permettant d’exécuter la structure de fichiers delta_share_to_s3_.py
      Unset
      ├── requirements.txt # Dependencies
      ├── user_exp.py # Configuration utility
      ├── delta_share_to_s3.py # Data sync script
      ├── config.yaml # Generated configuration
      ├── config.share # Delta Share config file
      ├── procore_scheduling.log # Log of scheduling runs

  • 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 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 : /path/to/config.share.

      • Entrez la clé d’accès : clé s3.

      • Entrez secret : secret.

      • Enter bucket : nom du bucket.

      • Voulez-vous configurer cela comme un projet quotidien sur cron ? (Oui/Non) : Oui

      • Saisissez le planning au format cron (par exemple, * * * * * ): 0 2 * * *

      • Voulez-vous exécuter le projet 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 du projet Cron

    • Assurez-vous que les autorisations système sont correctement configurées.

    • Vérifiez les journaux système si le projet ne parvient pas à s’exécuter.

    • Vérifiez les autorisations d’exécution du script ().delta_share_to_s3.py

  • Fichier de configuration

    • Vérifiez que le fichier config.yaml se trouve dans le même Annuaire 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 config.yamlfichier pour détecter les 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 procore_scheduling_logconfiguration du projet cron en vérifiant les journaux système : Voir fichier.

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 de production.