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
- 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 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_.py Structure 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
- Étape 1: Installer les dépendances
- 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 :
- N’oubliez pas de toujours sauvegarder votre configuration avant d’apporter des modifications.
- Testez d’abord les nouvelles configurations dans un environnement hors production.