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
- Configuration de la source de partage Delta
- S3 Configuration
- Options de planification
- Meilleures pratiques
- Résolution des problèmes
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_.py Structure 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
- Étape 1: Installer les dépendances
- 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 :
- N’oubliez pas de toujours sauvegarder votre configuration avant d’apporter des modifications.
- Testez d’abord les nouvelles configurations dans un environnement hors production.