Experience Platform-gegevens beheren met Python en SQLAlchemy
- Onderwerpen:
- Query's
Gemaakt voor:
- Gebruiker
- Ontwikkelaar
Leer hoe u SQLAlchemy kunt gebruiken voor meer flexibiliteit bij het beheer van uw Adobe Experience Platform-gegevens. Voor degenen die niet zo vertrouwd met SQL zijn, kan SQLAlchemy ontwikkelingstijd zeer verbeteren wanneer het werken met relationele gegevensbanken. Dit document bevat instructies en voorbeelden voor het tot stand brengen van een verbinding tussen SQLAlchemy en Query Service en het gebruik van Python voor de interactie met uw databases.
SQLAlchemy is een object Relational Mapper (ORM) en een Python codebibliotheek die gegevens die zijn opgeslagen in een SQL-database, kunnen overbrengen naar Python -objecten. Vervolgens kunt u met Python -code CRUD-bewerkingen uitvoeren op gegevens die in het Experience Platform-gegevensmeer worden opgeslagen. Hierdoor hoeft u geen gegevens te beheren met alleen PSQL.
Aan de slag
U hebt toegang tot de werkruimte Query's in de gebruikersinterface van Experience Platform nodig om de referenties te verkrijgen waarmee u SQLAlchemy kunt verbinden met Experience Platform. Neem contact op met uw organisatiebeheerder als u momenteel geen toegang hebt tot de werkruimte Query's.
Query Service referenties
Meld u aan bij de gebruikersinterface van Experience Platform en selecteer Queries in de linkernavigatie, gevolgd door Credentials om uw referenties te zoeken. Voor volledige richtingen op hoe te om uw login geloofsbrieven te vinden, te lezen gelieve de gids van geloofsbrieven.
Hoewel haven 80 de geadviseerde haven voor een verbinding aan de Dienst van de Vraag is, kunt u haven 5432 ook gebruiken.
Wanneer u toegang hebt tot uw QS-referenties, opent u de Python -editor.
Referenties opslaan in Python
Importeer in de Python -editor de urllib.parse.quote
-bibliotheek en sla elke referentie-variabele op als een parameter. De module urllib.parse
biedt een standaardinterface voor het onderverdelen van URL-tekenreeksen in componenten. De aanhalingsfunctie vervangt speciale tekens in de URL-tekenreeks om de gegevens veilig te maken voor gebruik als URL-componenten. Hieronder ziet u een voorbeeld van de vereiste code:
from urllib.parse import quote
host = "<YOUR_HOST>"
port = "<YOUR_PORT>"
dbname = "<YOUR_DATABASE>"
user = "<YOUR_USERNAME>"
password = quote('''
<YOUR_PASSWORD>
''')
Een motorinstantie maken [#create-engine ]
Nadat de variabelen zijn gecreeerd, voer de create_engine
functie in en creeer een koord om uw geloofsbrieven van de Dienst van de Vraag in SQLAlchemy te compileren en te formatteren. De functie create_engine
wordt vervolgens gebruikt om een motorinstantie te maken.
create_engine
keert een geval van een motor terug. Nochtans, opent het niet de verbinding aan de Dienst van de Vraag tot een vraag wordt geroepen die een verbinding vereist.SSL moet zijn ingeschakeld wanneer u Experience Platform opent met behulp van externe clients. Als onderdeel van de engine voert u aanvullende trefwoordargumenten in via connect_args
. U wordt aangeraden de SSL-modus in te stellen op require
. Zie de SSL wijzedocumentatievoor meer informatie over toegelaten waarden.
In het onderstaande voorbeeld wordt de Python -code weergegeven die nodig is om een engine- en verbindingstekenreeks te initialiseren.
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'})
U kunt nu Experience Platform-gegevens opvragen met Python . In het onderstaande voorbeeld wordt een array met tabelnamen van Query Service geretourneerd.
from sqlalchemy import inspect
insp = inspect(engine)
print(insp.get_table_names())