DokumentationExperience PlatformHandbuch zum Abfragedienst

Verwalten von Experience Platform-Daten mithilfe von Python und SQLAlchemy

Letzte Aktualisierung: 4. April 2025
  • Themen:
  • Abfragen

Erstellt für:

  • Benutzende
  • Entwickler

Erfahren Sie, wie Sie SQLAlchemy für mehr Flexibilität bei der Verwaltung Ihrer Adobe Experience Platform-Daten verwenden. Für diejenigen, die mit SQL nicht so vertraut sind, kann SQLAlchemy die Entwicklungszeit bei der Arbeit mit relationalen Datenbanken erheblich verbessern. Dieses Dokument enthält Anweisungen und Beispiele zum Verbinden von SQLAlchemy mit dem Abfrage-Service und zum Beginnen der Verwendung von Python für die Interaktion mit Ihren Datenbanken.

SQLAlchemy ist ein Object Relational Mapper (ORM) und eine Python Code-Bibliothek, die in einer SQL-Datenbank gespeicherte Daten in Python Objekte übertragen kann. Sie können dann CRUD-Vorgänge für Daten durchführen, die im Data Lake von Experience Platform gespeichert sind, indem Sie Python Code verwenden. Dadurch entfällt die Notwendigkeit, Daten nur noch mit PSQL zu verwalten.

Erste Schritte

Um die erforderlichen Anmeldeinformationen zum Verbinden von SQLAlchemy mit Experience Platform zu erhalten, benötigen Sie Zugriff auf den Arbeitsbereich „Abfragen“ in der Experience Platform-Benutzeroberfläche. Wenden Sie sich an den Admin Ihrer Organisation, wenn Sie derzeit keinen Zugriff auf den Arbeitsbereich „Abfragen“ haben.

Query Service

Um Ihre Anmeldeinformationen zu finden, melden Sie sich bei der Experience Platform-Benutzeroberfläche an und wählen Abfragen im linken Navigationsbereich aus, gefolgt von Anmeldeinformationen. Eine vollständige Anleitung zum Auffinden Ihrer Anmeldedaten finden Sie im Anmeldedaten-Handbuch.

Die Registerkarte „Anmeldeinformationen“ mit hervorgehobenen ablaufenden Anmeldeinformationen für den Abfrage-Service.

Obwohl Port 80 der empfohlene Port für eine Verbindung mit dem Abfrage-Service ist, können Sie auch Port 5432 verwenden.

WICHTIG
Wenn Sie ablaufende Anmeldeinformationen verwenden (wie im Bild oben gezeigt), um eine Verbindung zum Abfrage-Service herzustellen, läuft die Sitzungsdauer für Ihre Verbindung nach dem in den Einstellungen Ihres Unternehmens festgelegten Zeitraum ab. Standardmäßig beträgt dieser Zeitraum 24 Stunden. In der Dokumentation erfahren Sie, wie Sie einen Client mit nicht ablaufenden Anmeldeinformationen verbinden oder die Sitzungsdauer für Ihre ablaufenden Anmeldeinformationen ändern.

Sobald Sie Zugriff auf Ihre QS-Anmeldedaten haben, öffnen Sie Ihren Python Editor Ihrer Wahl.

Speichern von Anmeldeinformationen in Python

Importieren Sie in Ihrem Python-Editor die urllib.parse.quote-Bibliothek und speichern Sie jede Berechtigungsvariable als Parameter. Das urllib.parse Modul bietet eine Standardschnittstelle zum Unterteilen von URL-Zeichenfolgen in Komponenten. Die Anführungsfunktion ersetzt Sonderzeichen in der URL-Zeichenfolge, um die Daten zur Verwendung als URL-Komponenten sicher zu machen. Ein Beispiel für den erforderlichen Code finden Sie unten:

TIPP
Verwenden Sie die dreifachen Anführungszeichen von Python, um Ihre mehrzeilige Kennwortzeichenfolge einzugeben.
from urllib.parse import quote

host = "<YOUR_HOST>"

port = "<YOUR_PORT>"

dbname = "<YOUR_DATABASE>"

user = "<YOUR_USERNAME>"

password = quote('''
<YOUR_PASSWORD>
''')
NOTE
Das Kennwort für die Verbindung von SQLAlchemy mit Experience Platform läuft ab, wenn Sie ablaufende Anmeldeinformationen verwenden. Weitere Informationen finden im Abschnitt.

Erstellen einer Engine-Instanz [#create-engine]

Nachdem die Variablen erstellt wurden, importieren Sie die Funktion create_engine und erstellen Sie eine Zeichenfolge, um Ihre Anmeldeinformationen für den Abfrage-Service in SQLAlchemy zu kompilieren und zu formatieren. Die create_engine Funktion wird dann verwendet, um eine Engine-Instanz zu erstellen.

NOTE
create_engineGibt eine Instanz einer Engine zurück. Es öffnet jedoch die Verbindung zum Abfrage-Service erst, wenn eine Abfrage aufgerufen wird, für die eine Verbindung erforderlich ist.

SSL muss beim Zugriff auf Experience Platform über Drittanbieter-Clients aktiviert sein. Verwenden Sie als Teil Ihrer Engine die connect_args , um zusätzliche Keyword-Argumente einzugeben. Es wird empfohlen, den SSL-Modus auf require festzulegen. Weitere Informationen zu den akzeptierten Werten finden inDokumentation zu SSL-Modi .

Im folgenden Beispiel wird der Python Code angezeigt, der zum Initialisieren einer Engine und einer Verbindungszeichenfolge erforderlich ist.

from sqlalchemy import create_engine

db_string = "postgresql://{user}:{password}@{host}:{port}/{dbname}".format(
    user=user,
    password=password,
    host=host,
    port = port,
    dbname = dbname
)

engine = create_engine(db_string, connect_args={'sslmode':'require'})
NOTE
Das Kennwort für die Verbindung von SQLAlchemy mit Experience Platform läuft ab, wenn Sie ablaufende Anmeldeinformationen verwenden. Weitere Informationen finden im Abschnitt.

Sie können jetzt Experience Platform-Daten mit Python abfragen. Das folgende Beispiel gibt ein Array von Query Service-Tabellennamen zurück.

from sqlalchemy import inspect
insp = inspect(engine)
print(insp.get_table_names())
recommendation-more-help
ccf2b369-4031-483f-af63-a93b5ae5e3fb