Zum Inhalt

GraphQL

Zur Verwaltung der Plattformressourcen steht eine GraphQL-Schnittstelle unter
https://login.urbanstack.de/realms/udh/data-hub/graphql
zur Verfügung.
Zur Entwicklung der Abfragen ist GraphiQL unter https://login.urbanstack.de/realms/udh/data-hub/graphiql verfügbar.

GraphiQL

Die verfügbaren Abfragen und Mutationen können in GraphiQL eingesehen werden.

Authentifizierung

Zur Authentifizierung können Bearer Tokens eingesetzt werden wenn die Abfrage dies erfordert.

Dies geschieht im von der Plattform bereitgestellen GraphiQL-Editor automatisch. Die Queries und Mutations werden mit den Berechtigungen des eingeloggten Benutzers ausgeführt. Sollte es einmal einen Fehler bei der Authentifizierung geben (unauthorized), kann dieser meistens durch ein Neuladen der Seite behoben werden.

Hilfsbibliothek

Über die in JupyterLab integrierte Hilfsbibliothek kann ein authentifizierter GraphQL-Client erstellt werden:

Login
from _ import login, GraphQLRequest
auth = login()
Mandantennamen abfragen
auth.graphql.execute(GraphQLRequest("{ tenants { tenant } }"))
Ergebnis
{
    "tenants": [
        { "tenant": "anderermandant" },
        { "tenant": "meinmandant" },
        { "tenant": "weiterer" },
        { "tenant": "nocheinmandant" }
    ]
}
Abfrage mit Variablen
auth.graphql.execute(GraphQLRequest("query ($tenant:String!) { tenant(tenant:$tenant) { projects { project } } }", variable_values={"tenant": "knuffingen"}))
Ergebnis
{
    "tenant": {
        "projects": [
            {
                "project": "trainstation"
            }
        ]
    }
}