Color scheme: Riviera
You are here: start » de » Dokumentation » Datenintegration und Datenzugriff » WKL Database Gateway » Erste Schritte » Die erste Anfrage per HTTP

Die erste Anfrage per HTTP

In dieser Einführung lesen Sie mit PowerShell Daten über den Datendienst – zuerst über die OData-Oberfläche, dann über den eigenen Vertrag. Sie brauchen dafür etwa zehn Minuten und keine weitere Software.

Voraussetzungen

  • ein laufender Datendienst und seine Adresse, hier https://daten.example.com
  • ein Schlüssel mit einer Regel, die mindestens eine Tabelle lesen darf: ein persönlicher Schlüssel (wkl_…) oder ein Dienstschlüssel; verlangt die Anmelderichtlinie für Ihren Schlüssel einen zweiten Faktor, verwenden Sie für diese Einführung einen davon ausgenommenen, nur lesenden Schlüssel
  • PowerShell 7 oder Windows PowerShell 5.1

Schritte

1. Den Schlüssel für die Sitzung bereitlegen

Geben Sie den Schlüssel ein, ohne dass er in der Befehlshistorie landet:

$h = @{ 'X-Api-Key' = (Read-Host 'Schlüssel') }
$base = 'https://daten.example.com'

2. Prüfen, ob der Dienst antwortet

Invoke-RestMethod "$base/health/ready"

Die Antwort lautet Healthy. Dieser Aufruf braucht keine Anmeldung.

3. Die Datenbanken und Tabellen auflisten

(Invoke-RestMethod "$base/odata/v4/" -Headers $h).value | Format-Table name, url
(Invoke-RestMethod "$base/odata/v4/fachdaten/dbo/" -Headers $h).value | Select-Object -First 5 | Format-Table name, kind

Die erste Liste nennt die Aliasse, die Sie lesen dürfen, die zweite die Tabellen und Sichten eines Schemas (kind = EntitySet). Setzen Sie für fachdaten und dbo die Namen aus Ihren Listen ein.

4. Zeilen lesen, filtern und zählen

$r = Invoke-RestMethod "$base/odata/v4/fachdaten/dbo/Artikel?`$top=2&`$count=true&`$filter=Gruppe eq 'S'" -Headers $h
$r.'@odata.count'
$r.value | Format-Table

@odata.count nennt, wie viele Zeilen die Bedingung insgesamt trifft; value enthält die ersten zwei. Der Dienst übersetzt $filter in SQL und lässt die Datenbank filtern. Der Gravis (Backtick) vor $ hindert PowerShell daran, $top als Variable zu lesen.

5. Dieselben Zeilen über den eigenen Vertrag lesen

$c = Invoke-RestMethod "$base/api/v1/cf/fachdaten/tables/Artikel.json?`$top=2&`$count=true" -Headers $h
$c | Select-Object rowCount, window, totalCount, nextLink
$c.data | Format-Table

Der eigene Vertrag antwortet mit data, rowCount, window und – wegen $count=true – totalCount. Ohne $top liefert er ein Fenster der voreingestellten Größe und, wenn weitere Zeilen folgen, einen nextLink.

Ergebnis

Sie haben dieselben Daten über beide Oberflächen gelesen. Mit einem Schlüssel ohne Leserecht für eine Tabelle antwortet der Dienst 404 – genau wie für eine Tabelle, die es nicht gibt.

Nächste Schritte

de/wiki/data-conectivity/database-gateway/getting-started/first-request-over-http.txt · Last modified: by Wolfgang van der Stille