Herstellen einer Verbindung mit Amazon S3 mithilfe von Python
Übersicht
Das Analytics Cloud Connect Access-Tool ist eine Befehlszeilenschnittstelle (CLI), mit der Sie Datenübertragungen von Procore zu Amazon S3 mit Analytics 2.0 konfigurieren und verwalten können.
Es besteht aus zwei Hauptkomponenten:
- user_exp.py: Dienstprogramm zur Konfigurationseinrichtung
- delta_share_to_s3.py: Skript zur Datensynchronisierung
Voraussetzungen
- Analytics 2.0 SKU
- Python ist auf Ihrem System installiert
- Zugang zu Procore Delta Share
- S3-Zugriffstasten
- Laden Sie das gezippte Paket aus dem Unternehmensebene Analytics-Tool herunter (über Analytics > Getting Started > Connection Options > AWS).
- Installation der erforderlichen Abhängigkeiten mit:
- pip install -r requirements.txt
Schritte
- Erstkonfiguration
- Konfiguration der Delta Share-Quelle
- S3-Konfiguration
- Optionen für die Planung
- Best Practices
- Problembehebung
Erstkonfiguration
Führen Sie das Konfigurationsdienstprogramm mit python user_exp.py aus.
Dies wird Ihnen bei der Einrichtung helfen:
- Konfiguration der Delta-Freigabe
- S3-Zielkonfiguration
- Einstellungen für die Terminplanung
Konfiguration der Delta-Freigabe
- Erstellen der config.share-Datei
- Bevor Sie das Konfigurationsdienstprogramm ausführen können, müssen Sie eine config.share-Datei mit Ihren Delta Share-Anmeldedaten erstellen. Die Datei sollte im JSON-Format vorliegen:
{
"shareCredentialsVersion": 1,
"bearerToken": "xxxxxxxxxxxxxxx",
"Endpunkt": "xxxxxx"
}
- Pflichtfelder:
- ShareCredentialsVersion: Versionsnummer (derzeit 1).
- BearerToken: Ihr Delta Share-Zugriffstoken.
- Endpunkt: Die URL Ihres Delta Share-Endpunkts.
- Diese Details können über die Procore-Web-Benutzeroberfläche abgerufen werden.
- Schritte zum Erstellen von config.share:
- Erstellen Sie eine neue Datei mit dem Namen config.share.
- Kopieren Sie die obige JSON-Vorlage.
- Ersetzen Sie die Platzhalterwerte durch Ihre tatsächlichen Anmeldedaten.
- Speichern Sie die Datei an einem sicheren Ort.
- Sie müssen den Pfad zu dieser Datei während der Konfiguration angeben. Bei der Konfiguration der Datenquelle werden Sie aufgefordert, Folgendes anzugeben:
- Liste der Tabellen (durch Kommas getrennt).
- Lassen Sie das Feld leer, um alle Tabellen zu synchronisieren.
- Beispiel: Tabelle1, Tabelle2, Tabelle3.
- Pfad zu Ihrer config.share-Datei .
S3-Konfiguration
Sie müssen die folgenden S3-Details angeben:
- Authentifizierung:
- Zugriffsschlüssel
- Geheimer Schlüssel
- Bucket-Name ohne s3://
- Schlüssel - Verzeichnis
Optionen für die Planung
Das Tool bietet die Möglichkeit, eine automatische Datensynchronisierung zu planen.
- Cronjob-Konfiguration
- Wählen Sie aus, ob Sie ein tägliches Projekt einrichten möchten.
- Wenn ja, geben Sie einen Cron-Zeitplan an.
- Format: * * * * * (Minute, Stunde, Monat, Monat, Wochentag).
- Beispiel für täglich um 2 Uhr morgens: 0 2 * * *
- Um die Terminierungsprotokolle zu überprüfen, wird die Datei 'procore_scheduling.log' erstellt, sobald die Terminierung eingerichtet ist.
Sie können die Zeitplanung auch überprüfen, indem Sie den Befehl in terminal ausführen
Für Linux und MacOs:
Bearbeiten/Löschen - Bearbeiten Sie den Terminplanungs-Cron mit:
'''Bash
EDITOR=nano crontab -e
```
- Nachdem Sie den obigen Befehl ausgeführt haben, sollten Sie etwas Ähnliches wie das folgende sehen:
- 2 * * * * /Benutzer/your_user/snowflake/venv/bin/python /Benutzer/your_user/snowflake/sql_server_python/connection_config.py 2>&1 | während der gelesenen Zeile; do echo "$(date) - $line"; Erledigt >> /Benutzer/your_user/snowflake/sql_server_python/procore_scheduling.log # procore-data-import
- Sie können auch den Zeitplan anpassen oder die gesamte Zeile löschen, um zu verhindern, dass sie nach Zeitplan ausgeführt wird.
Für Windows:
- Überprüfen Sie, ob die Terminplanaufgabe erstellt wurde:
'''Powershell
schtasks /query /tn "ProcoreDeltaShareScheduling" /fo LIST /v
``` - So bearbeiten/löschen Sie die Planungsaufgabe:
Öffnen Sie den Taskplaner:- Drücken Sie Win + R, geben Sie taskschd.msc ein. und drücken Sie die Eingabetaste.
- Navigieren Sie zu den geplanten Aufgaben.
- Erweitern Sie im linken Bereich die Taskplaner-Bibliothek.
- Suchen Sie nach dem Ordner, in dem Ihre Aufgabe gespeichert ist (z. B. Taskplaner-Bibliothek oder ein benutzerdefinierter Ordner).
- Finden Sie Ihre Aufgabe:
- Suchen Sie nach dem Aufgabennamen ProcoreDeltaShareScheduling.
- Klicken Sie darauf, um die Details im unteren Bereich anzuzeigen.
- Überprüfen Sie den Zeitplan:
- Überprüfen Sie die Registerkarte Trigger, um zu sehen, wann die Aufgabe ausgeführt werden soll.
- Überprüfen Sie die Registerkarte Verlauf, um die letzten Ausführungen zu bestätigen.
- So löschen Sie die Aufgabe:
- Löschen Sie die Aufgabe aus der GUI.
- Sofortige Ausführung
- Option zum Ausführen der delta_share_to_s3_.py Datei-Struktur
-
Unset
├── requirements.txt # Abhängigkeiten
├── user_exp.py # Konfigurations-Dienstprogramm
├── delta_share_to_s3.py # Skript zur Datensynchronisierung
├── config.yaml # Generierte Konfiguration
├── config.share # Delta-Share-Konfigurationsdatei
├── procore_scheduling.log # Protokoll der Terminierungsläufe
Beispiel für die Verwendung- Schritt 1: Installieren von Abhängigkeiten
$ pip install -r requirements.txt - Schritt 2: Konfigurationsdienstprogramm ausführen
$ python user_exp.py - Procore Analytics Cloud Connect-Zugriff
- Diese CLI hilft Ihnen bei der Auswahl Ihres Quell- und Zielspeichers für den Zugriff/das Schreiben von Procore-Daten in S3.
- Drücken Sie die Eingabetaste, um fortzufahren.
- Geben Sie die Liste der Tabellen ein (durch Kommas getrennt), lassen Sie sie für alle Tabellen leer: Projekte, Benutzer, Aufgaben.
- Geben Sie den Pfad zu config.share ein: /Pfad/zur/config.share.
- Geben Sie den Zugriffsschlüssel ein: s3-Schlüssel.
- Geben Sie secret: secret ein.
- Geben Sie bucket ein: Bucket-Name.
- Möchten Sie dies als täglichen Job auf cron konfigurieren? (Ja/Nein): Ja
- Geben Sie den Zeitplan im Cron-Format ein (z. B. * * * * * ): 0 2 * * *
- Möchten Sie den Auftrag jetzt ausführen? (Ja/Nein): Ja
- Schritt 3: Manuelle Ausführung (falls erforderlich)
$ python delta_share_to_s3.py
- Schritt 1: Installieren von Abhängigkeiten
- Wiederverwendung von Konfigurationen
Das Tool speichert Ihre Konfiguration in der Datei config.yaml und bietet die Möglichkeit, zuvor gespeicherte Einstellungen wiederzuverwenden:- Die Quellkonfiguration kann wiederverwendet werden.
- Die Zielkonfiguration (S3) kann wiederverwendet werden.
- Sie können wählen, ob Sie beide Konfigurationen unabhängig voneinander aktualisieren möchten.
Fehlerbehebung
Häufige Probleme und Lösungen:
- Cronjob einrichten
- Stellen Sie sicher, dass die Systemberechtigungen korrekt konfiguriert sind.
- Überprüfen Sie die Systemprotokolle, wenn der Auftrag nicht ausgeführt werden kann.
- Überprüfen des Skripts (delta_share_to_s3.py) Ausführen von Berechtigungen.
- Konfigurationsdatei
- Vergewissern Sie sich, dass sich die Datei config.yaml im selben Verzeichnis wie das Skript befindet.
- Sichern Sie, bevor Sie Änderungen vornehmen.
- Unterstützen
- Überprüfen Sie die Skriptprotokolle auf detaillierte Fehlermeldungen.
- Überprüfen Sie die Datei config.yaml auf Fehlkonfigurationen.
- Wenden Sie sich an Ihren Systemadministrator, wenn Sie Fragen zu Berechtigungen haben.
- Wenden Sie sich bei Problemen mit dem Delta Share-Zugriff an den Procore Support.
- Überprüfen Sie die Einrichtung von Cron-Jobs, indem Sie die Systemprotokolle überprüfen: Siehe 'procore_scheduling_log' -Datei.
Hinweise:
- Denken Sie daran, Ihre Konfiguration immer zu sichern, bevor Sie Änderungen vornehmen.
- Testen Sie neue Konfigurationen zunächst in einer Nicht-Produktionsumgebung.

