Power BI Report Server unterstützt REST-APIs (Representational State Transfer). Die REST-APIs sind Dienstendpunkte, die eine Reihe von HTTP-Vorgängen (Methoden) unterstützen, die Erstellungs-, Abruf-, Aktualisierungs- oder Löschzugriff auf Ressourcen in einem Berichtsserver bieten.

Die REST-API bietet programmgesteuerten Zugriff auf die Objekte in einem Katalog für Power BI-Berichtsserver. Beispiele für Objekte sind Ordner, Berichte, KPIs, Datenquellen, Datasets, Aktualisierungspläne, Abonnements und vieles mehr. Mit der REST-API können Sie beispielsweise durch die Ordnerhierarchie navigieren, den Inhalt eines Ordners durchsuchen oder eine Berichtsdefinition herunterladen. Sie können auch Objekte erstellen, aktualisieren und löschen. Beispiele für das Arbeiten mit Objekten sind das Hochladen eines Berichts, das Ausführen eines Aktualisierungsplans, das Löschen eines Ordners usw.

Komponenten einer REST-API-Anforderung/-Antwort

Ein REST API-Anforderungs-/Antwortpaar kann in fünf Komponenten unterteilt werden:

  • Den Anforderungs-URI, der aus Folgendem besteht: {URI-scheme} :// {URI-host} / {resource-path} ? {query-string}. Der Anforderungs-URI ist zwar im Nachrichtenheader der Anforderung enthalten, er wird jedoch hier separat aufgerufen, da die meisten Sprachen und Frameworks erfordern, dass er separat von der Anforderungsnachricht übergeben wird.

    • URI-Schema: Gibt das Protokoll an, mit dem die Anforderung übertragen wird. Beispiele sind http und https.
    • URI-Host: Gibt den Domänennamen oder die IP-Adresse des Servers an, auf dem der REST-Dienstendpunkt gehostet wird, beispielsweise myserver.contoso.com.
    • Ressourcenpfad: Gibt die Ressource oder die Ressourcensammlung an, die mehrere Segmente enthalten, anhand derer der Dienst die Auswahl der betreffenden Ressourcen bestimmt. Beispiel: CatalogItems(01234567-89ab-cdef-0123-456789abcdef)/Properties kann verwendet werden, um die angegebenen Eigenschaften für das CatalogItem abzurufen.
    • Abfragezeichenfolge (optional): Gibt zusätzliche einfache Parameter an, z.B. die API-Version oder die Ressourcenauswahlkriterien.
  • Headerfelder der HTTP-Anforderungsnachricht:

    • Eine erforderliche HTTP-Methode (die auch als Vorgang oder Verb bezeichnet wird), die dem Dienst den Typ des angeforderten Vorgangs mitteilt. Reporting Services-REST-APIs unterstützen DELETE-, GET-, HEAD-, PUT-, POST- und PATCH-Methoden.
    • Optionale zusätzliche Headerfelder, die jeweils durch die angegebene URI- und HTTP-Methode gefordert werden.
  • Optionale Felder für den HTTP-Anforderungsnachrichtentext, um den URI- und HTTP-Vorgang zu unterstützen. POST-Vorgänge enthalten beispielsweise MIME-codierte Objekte, die als komplexe Parameter übergeben werden. Für POST- oder PUT-Vorgänge muss auch der MIME-Codierungstyp für den Text im Content-type-Anforderungsheader angegeben werden. Für einige Dienste muss ein bestimmter MIME-Typ verwendet werden, z.B. application/json.

  • Felder des HTTP-Anforderungsnachrichtenheaders:

    • Ein HTTP-Statuscode, der 2xx Erfolgscodes bis zu 4xx oder 5xx Fehlercodes enthalten kann. Alternativ kann ein vom Dienst definierter Statuscode zurückgegeben werden, entsprechend der Angabe in der API-Dokumentation.
    • Optionale zusätzliche Headerfelder, die jeweils zum Unterstützen der Antwort auf die Anforderung erforderlich sein können, z.B. ein Content-type-Antwortheader.
  • Optionale Felder für den HTTP-Antwortnachrichtentext:

    • MIME-codierte Antwortobjekte werden im HTTP-Antworttext zurückgegeben, z.B. eine Antwort einer GET-Methode, die Daten zurückgibt. Normalerweise werden diese Objekte in einem strukturierten Format wie JSON oder XML zurückgegeben, entsprechend der Angabe im Content-type-Antwortheader.

API-Dokumentation

Eine moderne REST-API benötigt eine moderne API-Dokumentation. Die REST-API baut auf der OpenAPI-Spezifikation (auch bezeichnet als Swagger-Spezifikation) auf, und die Dokumentation ist verfügbar auf SwaggerHub. Über das Dokumentieren der API hinaus trägt SwaggerHub zum Generieren einer Clientbibliothek in der Sprache Ihrer Wahl bei – JavaScript, TypeScript, C#, Java, Python, Ruby usw.

Testen von API-Aufrufen

Ein Tool zum Testen von HTTP-Anforderungs-/Antwortnachrichten ist Fiddler. Fiddler ist ein kostenloser Webdebugproxy, der Ihre REST-Anforderungen abfangen kann, wodurch die HTTP-Anforderungs-/Antwortnachrichten auf einfache Weise diagnostiziert werden können.

Nächste Schritte

Informieren Sie sich über die verfügbaren APIs auf SwaggerHub.

Beispiele sind auf GitHub verfügbar. Das Beispiel enthält eine HTML5-App, die auf TypeScript, React und webpack aufbaut, sowie ein PowerShell-Beispiel.

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