Integration in dssCode (Plattform zur Kodierung)
Zugang über dsstools
Wenn du einen Graph importieren möchtest, der zuvor in dssCode
kodiert wurde,
gehe dazu in dssCode
in deine Profileinstellungen und kopiere das dortige
API-Token. Das ist der Schlüssel für den Zugriff auf die Plattform aus Python
heraus.
Warnung
Committe dieses Token niemals in Repositories!
Deshalb wollen wir unbedingt vermeiden, das Token in unser Skript zu schreiben, auch wenn wir es einfach als Parameter übergeben. Stattdessen müssen wir es anderweitig übergeben. Das lässt sich am besten über eine sogenannte Umgebungsvariable erledigen. Eine Umgebungsvariable besteht aus einem Schlüssel und einem Wert, ähnlich wie ein Item in einem Dictionary in Python.
Der Plan ist also wie folgt: 1. Wir legen die Umgebungsvariable auf eine Art und Weise fest, die nicht veröffentlicht wird. 2. Wir lesen diese Umgebungsvariablen wieder im laufenden Pythoncode in eine Python-Variable ein. 3. Diese Python-Variable wird an die Methode übergeben, die das Token benötigt.
Für 1. gibt es zwei Möglichkeiten:
Umgebungsvariablen über IDE
Viele IDEs ermöglichen eine Festlegung von Umgebungsvariablen, wenn Python ausgeführt wird. Falls du eine solche verwendest, findest du dazu online häufig eine Erklärung. Hier einige Erklärungsseiten für das Setzen von Umgebungsvariablen von verbreiteten IDEs:
.env
Neben den Möglichkeiten der IDE gibt es noch eine weitere Möglichkeit, die
unabhängig funktioniert: Das Erstellen einer .env
-Datei. Diese
Datei besteht aus einer Liste von Umgebungsvariablen, die untereinander
geschrieben werden.
Hinweis
.env
kann auch für das TextSearch
-Modul genutzt werden (siehe unten).
Der Inhalt der .env
sieht wie folgt aus:
Weitere verwendete Variablen können darunter geschrieben werden. Variablen aus
.env
werden gegenüber allgemeinen Umgebungsvariablen priorisiert.
Achtung
In deinem Skript muss explizit load_dotenv()
aufgerufen werden:
Dann geht es wie im nächsten Abschnitt beschrieben weiter.
Verwenden von Umgebungsvariablen
Um den Wert einer Umgebungsvariable in eine Python-Variable zu übertragen, können wir die Bordmittel von Python nutzen:
Damit wäre deine Umgebungsvariable DSSCODE_TOKEN
in die Python-Variable
dsscode_token
übertragen und du kannst sie jetzt an die entsprechenden Methoden
übergeben.
Projekt-Slug
Weiterhin benötigst du von dssCode
das sogenannte
Projekt-Slug. Das ist ein menschenleserlicher String, der keine
Leerzeichen oder Sonderzeichen enthält. Wenn du dich in der
Projektübersicht befindest, steht der Slug in deiner Adresszeile des
Browsers:
In diesem Beispiel wäre das sustainable_investment
.
Snapshot
Snapshots dienen dazu, einen festgelegten Zustand aus dssCode zu erhalten. Die Erstellung eines solches Snapshots funktioniert in dssCode über Projektübersicht
-> Snapshots
-> Snapshot anlegen
. Danach erscheint ein neuer Eintrag in der Tabelle darunter. Diese ID muss kopiert werden und ist unser Wert für snapshot
in Python.
Hinweis
Diese Snapshot-ID kann committet werden. Das ist sogar sinnig, da andere Personen in deinem Team dann denselben Zustand in ihrem Netzwerk erhalten.
Anwendung
Ein simpler Aufruf sähe dann so aus:
- Platzhalter für die Snapshot-ID
Das kann je nach Größe des Graphs etwas dauern. Standardmäßig wird dieser Aufruf gecached, was bedeutet, das nicht bei jedem Aufruf erneut die API aufgerufen wird. Das reduziert die Last auf dem Server. Dazu musst du aber nichts weiter tun.