PowerShell und OData (Teil 2)

Im ersten Teil der dreiteiligen Serie ging es um einen ersten Überblick über OData und seine Möglichkeiten. In diesem zweiten Teil zeige ich, wie CRUD-Operationen (Create, Read, Update und Delete) mit einem OData-Webservice durchgeführt werden.

Das Invoke-RestMethod-Cmdlet


Im Mittelpunkt steht das Invoke-RestMethod-Cmdlet, das bereits seit der Version 3.0 dabei ist.

Das Abrufen von Daten per Invoke-RestMethod-Cmdlet ist sehr einfach. Hier ein einfaches Beispiel, das alle Datensätzen der Employees-Tabelle aus der Northwind-Datenbank abruft:

Wie im ersten Teil gezeigt, sind auch „richtige“ Abfragen möglich, die z.B. Filter verwenden:

Die Filter-Angaben werden über ein Schlüsselwort festgelegt, wie z.B. $filter oder $select. Per $format wird das Format ausgewählt.

Tipp: In einem PowerShell-Skript muss das $-Zeichen eventuell escaped werden.

Für das Aktualisieren von Daten ist etwas mehr Aufwand erforderlich. Die zu aktualisierenden Daten werden als JSON-Objekt im Rahmen einer POST-Aktion übergeben.

Auch hier ein Beispiel, das sich auf einen von mir erstellten OData Webservice bezieht. Der folgende Aufruf soll einen Dienst anhalten:

Im dritten Teil zeige ich, wie sich per Management OData Cmdlets und Functions aus einem Modul über einen Webservice ausführen lassen. Das ist vor allem für mobile Geräte interessant, auf denen weder eine PowerShell noch ein OMI-Client zur Verfügung steht und sich nur HTTP-Aufrufe durchführen lassen (etwa ein Raspberry Pi;)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden .