Entwickeln mithilfe der REST-APIs für Power BI-Berichtsserver

Power BI Report Server unterstützt REST-APIs (Representational State Transfer). Diese REST-APIs sind Dienstendpunkte, die verschiedene HTTP-Vorgänge (Methoden) unterstützen, die Zugriff auf Ressourcen in einem Berichtsserver herstellen, abrufen, aktualisieren oder löschen.

Die REST-API bietet programmgesteuerten Zugriff auf die Objekte in einem Katalog für Power BI-Berichtsserver. Bei diesen Objekten handelt es sich beispielsweise um Ordner, Berichte, KPIs, Datenquellen, Datasets, Aktualisierungspläne, Abonnements, etc. Mithilfe der REST-API können Sie z.B. die Ordnerhierarchie navigieren, die Inhalte eines Ordners ermitteln oder eine Berichtsdefinition herunterladen. Außerdem können Sie Objekte erstellen, aktualisieren und löschen. Die Objekte unterstützen Sie u.a. bei dem Upload von Berichten, dem Ausführen eines Aktualisierungsplans oder dem Löschen eines Ordners.

Hinweis

Informationen zum Anzeigen und Löschen von personenbezogenen Daten finden Sie im Leitfaden von Microsoft auf der Website zu den Windows-Datensubjektanforderungen für die DSGVO. Allgemeine Informationen über die DSGVO finden Sie im Abschnitt zur DSGVO im Service Trust-Portal.

Komponenten einer REST-API-Anforderung/Antwort

Ein REST-API-Anforderung/Antwort-Paar kann in fünf Komponenten gegliedert werden:

  • Der Anforderungs-URI, der aus {URI-scheme} :// {URI-host} / {resource-path} ? {query-string} besteht. Obwohl der Header der Anforderungsnachricht den Anforderungs-URI enthält, erwähnen wir ihn an dieser Stelle extra, da es für viele Sprachen und Frameworks erforderlich ist, diesen separat der Anforderungsnachricht zu entnehmen.

    • URI-Schema: gibt das Protokoll an, das zum Übertragen der Anforderung verwendet wird. Zum Beispiel: http oder https.
    • URI-Host: gibt den Domänennamen oder die IP-Adresse des Servers an, auf dem die REST-Dienstendpunkte gehostet werden. Zum Beispiel: myserver.contoso.com.
    • Ressourcenpfad: gibt die Ressource oder die Ressourcenauflistung an, die möglicherweise mehrere Segmente enthalten, die vom Dienst zur Bestimmung der Auswahl dieser Ressourcen verwendet werden. Beispielsweise kann CatalogItems(01234567-89ab-cdef-0123-456789abcdef)/Properties verwendet werden, um angegebene Eigenschaften für CatalogItem zu verwenden.
    • Abfragezeichenfolge (optional): stellt zusätzliche, einfache Parameter wie die API-Version oder die Kriterien der Ressourcenauswahl bereit.
  • Nachrichtenheaderfelder mit HTTP-Anforderungen:

    • eine erforderliche HTTP-Methode (ebenfalls unter den Bezeichnungen „Vorgang“ oder „Verb“ bekannt), über die der Dienst erfährt, welchen Vorgangstyp Sie anfordern; Reporting Services REST-APIs unterstützen die Methoden DELETE, GET, HEAD, PUT, POST und PATCH (Löschen, Abrufen, Kopfteil, Platzieren, Bereitstellen und Reparieren).
    • Zusätzliche optionale Headerfelder, die für den angegebenen URI und HTTP-Methode erforderlich sind.
  • Optionale Nachrichtentextfelder mit HTTP-Antworten zur Unterstützung des URI und des HTTP-Vorgangs. Beispielsweise enthalten POST-Vorgänge MIME-codierte Objekte, die als komplexe Parameter übergeben werden. Für POST- oder PUT-Vorgänge sollte der MIME-codierte Textkörpertyp ebenfalls im Anforderungsheader Content-type angegeben werden. Einige Dienste verlangen die Verwendung eines MIME-Typs wie application/json.

  • Nachrichtenheaderfelder mit HTTP-Anworten:

    • Ein HTTP-Statuscode, der zwischen den Erfolgscodes 2xx und den Fehlercodes 4xx oder 5xx liegt. Stattdessen kann auch, wie in der API-Dokumentation angegeben, ein Statuscode zurückgegeben werden, der für einen Dienst definiert ist.
    • Zusätzliche optionale Headerfelder, die zum Unterstützen der Antwort der Anforderung erforderlich sind, z.B. ein Content-type-Antwortheader.
  • Optionale Nachrichtentextfelder mit HTTP-Antworten:

    • MIME-codierte Antwortobjekte werden im HTTP-Antworttext zurückgegeben, wie z.B. eine Antwort von einer GET-Methode, die Daten zurückgibt. Für gewöhnlich werden diese Objekte in einem strukturierten Format wie JSON oder XML zurückgegeben, wie im Content-type-Antwortheader angegeben.

API-Dokumentation

Eine moderne REST-API benötigt auch eine moderne API-Dokumentation. Die REST-API basiert auf der OpenAPI-Spezifikation (auch Swagger-Spezifikation genannt), und die Dokumentation ist auf Microsoft Learn verfügbar.

Testen von API-Aufrufen

Fiddler ist ein Tool zum Testen von HTTP-Anforderungs- bzw. Antwortnachrichten. Fiddler ist ein kostenloser Proxy zum Webdebuggen, der Ihre REST-Anforderungen abfangen kann. Dies vereinfacht die Diagnose von Anforderungs-bzw. Antwortnachrichten.

Überprüfen Sie die verfügbaren APIs auf Microsoft Learn.

Beispiele finden Sie auf demGitHub. Das Beispiel beinhaltet neben einem PowerShell-Beispiel eine HTML5-App, die auf TypeScript, React und Webpack basiert.

Weitere Fragen? Stellen Sie Ihre Frage in der Power BI-Community.