Experience Platform-gegevens beheren met Python en SQLAlchemy

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 credentials

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 ​.

het Credentiële lusje met het verlopen van geloofsbrieven voor de benadrukte Dienst van de Vraag.

Hoewel haven 80 de geadviseerde haven voor een verbinding aan de Dienst van de Vraag is, kunt u haven 5432 ook gebruiken.

IMPORTANT
Als u het verlopen geloofsbrieven (zoals die in het beeld hierboven worden gezien) gebruikt om met de Dienst van de Vraag te verbinden, zal het zittingsleven voor uw verbinding na de vastgestelde periode verlopen die in de montages van uw organisatie wordt bepaald. Deze periode is standaard 24 uur. Zie de documentatie leren hoe te om ​ een cliënt met niet-het verlopen geloofsbrieven ​ te verbinden, of hoe te ​ het zittingsleven voor uw het verlopen geloofsbrieven ​ veranderen.

Wanneer u toegang hebt tot uw QS-referenties, opent u de Python -editor.

Referenties opslaan in Python store-credentials

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:

TIP
Gebruik de driedubbele aanhalingstekens van Python om de tekenreeks voor het wachtwoord voor meerdere regels in te voeren.
from urllib.parse import quote

host = "<YOUR_HOST>"

port = "<YOUR_PORT>"

dbname = "<YOUR_DATABASE>"

user = "<YOUR_USERNAME>"

password = quote('''
<YOUR_PASSWORD>
''')
NOTE
Het wachtwoord dat u opgeeft om SQLAlchemy verbinding te maken met Experience Platform, verloopt als u uw aanmeldingsgegevens gebruikt. Zie de ​ geloofsbrieven sectie ​ voor meer informatie.

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.

NOTE
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 wijzedocumentatie ​ voor 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'})
NOTE
Het wachtwoord dat u opgeeft om SQLAlchemy verbinding te maken met Experience Platform, verloopt als u uw aanmeldingsgegevens gebruikt. Zie de ​ geloofsbrieven sectie ​ voor meer informatie.

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())
recommendation-more-help
ccf2b369-4031-483f-af63-a93b5ae5e3fb