Zu Hauptinhalten wechseln
Procore

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

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_.pDatei-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 
  • 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:

  1. Denken Sie daran, Ihre Konfiguration immer zu sichern, bevor Sie Änderungen vornehmen.
  2. Testen Sie neue Konfigurationen zunächst in einer Nicht-Produktionsumgebung.