Einstellung der Looker API 3.x

API 3.x wird im August 2023 deaktiviert

Ursprünglich hatten wir angekündigt, dass diese Änderung mit der Version vom Juli 2023 eingeführt wird. Aufgrund des Feedbacks unserer Kunden haben wir diesen Termin auf August 2023 verschoben, um die Umstellung zu erleichtern. Schließen Sie dieses Dialogfeld, um weitere Informationen zu erhalten.

Nach der GA-Veröffentlichung der API 4.0 in Looker 22.4 haben wir die Einstellung der API 3.1 angekündigt. Die API 3.0 wurde bereits eingestellt.

Seit unserer Ankündigung der Einstellung im Juni 2022 sind sowohl die 3.1 API als auch die 3.0 API (als 3.x bezeichnet) eingestellt. Die API-Versionen 3.x werden ab der Veröffentlichung von Looker-Version 23.14 im August 2023 deaktiviert.

Dieses Upgrade wird in von Looker gehosteten Instanzen während der Wartungszeiten zwischen dem 14. und dem 24. August eingeführt. Daher müssen alle von Looker gehosteten Instanzen vor dem 14. August 2023 ihre Anwendungen so aktualisieren, dass sie 4.0-API-Endpunkte anstelle von 3.x-API-Endpunkten verwenden. Alle Funktionen, die auf 3.x-Endpunkten basieren, funktionieren nach dieser Änderung nicht mehr.

Wenn Ihre Instanz selbst gehostet wird, müssen Sie Ihre Anwendungen aktualisieren, bevor Sie Ihre Looker-Instanz auf Version 23.14 oder höher aktualisieren.

Die API 4.0 deckt alle Funktionen der eingestellten APIs ab. Wir gehen davon aus, dass die Umstellung von 3.x auf 4.0 für die meisten Kunden problemlos verläuft.

Kunden, die die Migration zu API 4.0 nicht erfolgreich durchführen können, wenden sich bitte an den Looker-Support.

Zeitachse

  • Vor 2022: API 3.0 ist eingestellt, 3.1 ist stabil und 4.0 ist in der Betaphase
  • März 2022: API 4.0 erhält den Status „stabil“ und ist in Looker 22.4 allgemein verfügbar.
  • Juni 2022: Einstellung der API 3.1 angekündigt
  • August 2023: API 3.x wird in Looker deaktiviert

An wen richtet sich dieser Artikel?

Dieses Dokument richtet sich an Nutzer, die die Looker API über von Looker unterstützte SDKs, von der Community unterstützte SDKs oder die API selbst verwenden. Im Folgenden finden Sie Informationen zu funktionsgefährdenden Änderungen, die sich auf Ihre Anwendung auswirken können.

Was muss ich tun?

Sie müssen die folgenden Änderungen an Ihrem Code vornehmen. Diese werden weiter unten auf dieser Seite ausführlicher beschrieben.

  • Ändern Sie Ihren Code so, dass er auf die neue API verweist.
  • Ermitteln Sie die Verwendung entfernter Endpunkte und ersetzen Sie diese Verweise durch die API 4.0-Entsprechung.
  • Aktualisieren Sie ID-Werte, die zuvor als Zahlen ausgedrückt wurden, als Strings.

Details zur Migration zu API 4.0

Code so ändern, dass er auf die neue API verweist

Wenn Sie API-Aufrufe direkt über die Befehlszeile oder Programme wie Postman ausführen, müssen Sie die URL anpassen, die Sie für die Anfrage verwenden.

### API 3.1 ###
GET https://myinstance.looker.com/api/3.1/users/5877

### API 4.0 ###
GET https://myinstance.looker.com/api/4.0/users/5877

Wenn Sie eines unserer SDKs verwenden, müssen Sie darauf achten, dass Sie die richtige Version des SDKs initialisieren. Hier ein einfaches Beispiel für den Anfang eines Python-Scripts mit unserem SDK in beiden Versionen:

### API 3.1 ###
import looker_sdk
sdk = looker_sdk.init31()

### API 4.0 ###
import looker_sdk
sdk = looker_sdk.init40()

Nachdem Sie die Änderung an der 4.0-API vorgenommen haben, ist es an der Zeit, Ihren Code zu testen und auf die folgenden Änderungen zu achten.

API 3.x-Endpunktersetzungen

Um die Terminologie zwischen der Looker API und der Looker-Benutzeroberfläche einheitlich zu halten, werden in der API 4.0 einige eingestellte API 3.x-Endpunkte durch gleichwertige oder verbesserte Endpunkte ersetzt. Diese sind unten aufgeführt:

Die Endpunkte „Gruppenbereich“ wurden umbenannt. Verwenden Sie stattdessen die synonymen Endpunkte „Ordner“.

Beispiel für das Python SDK

    #####################
    ##### API 3 #########
    #####################

    # Create Folder in Shared Folders
    response = sdk.create_space(
      body=mdls.CreateSpace(
        name="My New Folder",
        parent_id="1"
      )
    )

    # Get Folder info by ID
    response = sdk.space(space_id="555")

    # Change name of existing Folder
    response = sdk.update_space(
      space_id="555",
      body=mdls.UpdateSpace(
        name="My Updated Folder"
      )
    )

    #####################
    ##### API 4 #########
    #####################

    # Create Folder in Shared Folders
    response = sdk.create_folder(
      body=mdls.CreateFolder(
        name="My New Folder",
        parent_id="1"
      )
    )

    # Get Folder info by ID
    response = sdk.folder(folder_id="555")

    # Change name of existing Folder
    response = sdk.update_folder(
      space_id="555",
      body=mdls.UpdateFolder(
        name="My Updated Folder"
      )
    )
    

cURL-Beispiel

    #####################
    ##### API 3 #########
    #####################

    # Get Folder info by ID
    curl -H "Authorization: token Tg7gjGZD7B8c3k7g6XtmbcyYrQgMrXpjkR25dQ2G" https://myinstance.looker.com/api/3.1/spaces/555

    # Change name of existing Folder
    curl -X PATCH https://myinstance.looker.com/api/3.1/spaces/555 -H "Authorization: token Tg7gjGZD7B8c3k7g6XtmbcyYrQgMrXpjkR25dQ2G" -H "Content-Type: application/json" -d "{\"name\": \"My Updated Space\"}"

    #####################
    ##### API 4 #########
    #####################

    # Get Folder info by ID
    curl -H "Authorization: token Tg7gjGZD7B8c3k7g6XtmbcyYrQgMrXpjkR25dQ2G" https://myinstance.looker.com/api/4.0/folders/555

    # Change name of existing Folder
    curl -X PATCH https://myinstance.looker.com/api/4.0/folders/555 -H "Authorization: token Tg7gjGZD7B8c3k7g6XtmbcyYrQgMrXpjkR25dQ2G" -H "Content-Type: application/json" -d "{\"name\": \"My Updated Space\"}"
    

Die Endpunkte „Startseite“ wurden entfernt. Verwenden Sie stattdessen die erweiterten Funktionen der Endpunkte „board“.

Beispiel für das Python SDK

    #####################
    ##### API 3 #########
    #####################

    # Get Board info by ID
    response = sdk.homepage(homepage_id=1348)

    # Update displayed title of Board item
    response = sdk.update_homepage_item(
      homepage_item_id=86,
      body=mdls.WriteHomepageItem(
        custom_title="Volume 3"
      )
    )

    #####################
    ##### API 4 #########
    #####################

    # Get Board info by ID
    response = sdk.board(board_id=1348)

    # Update displayed title of Board item
    response = sdk.update_board_item(
      board_item_id=86,
      body=mdls.WriteBoardItem(
        custom_title="Volume 3"
      )
    )
    

cURL-Beispiel

    #####################
    ##### API 3 #########
    #####################

    # Get Board info by ID
    curl -H "Authorization: token Tg7gjGZD7B8c3k7g6XtmbcyYrQgMrXpjkR25dQ2G" https://myinstance.looker.com/api/3.1/homepages/1348

    # Update displayed title of Board item
    curl -X PATCH https://myinstance.looker.com/api/3.1/homepage_items/86 -H "Authorization: token Tg7gjGZD7B8c3k7g6XtmbcyYrQgMrXpjkR25dQ2G" -H "Content-Type: application/json" -d "{\"custom_title\": \"Volume 3\"}"

    #####################
    ##### API 4 #########
    #####################

    # Get Board info by ID
    curl -H "Authorization: token Tg7gjGZD7B8c3k7g6XtmbcyYrQgMrXpjkR25dQ2G" https://myinstance.looker.com/api/4.0/boards/1348

    # Update displayed title of Board item
    curl -X PATCH https://myinstance.looker.com/api/4.0/boards/86 -H "Authorization: token Tg7gjGZD7B8c3k7g6XtmbcyYrQgMrXpjkR25dQ2G" -H "Content-Type: application/json" -d "{\"custom_title\": \"Volume 3\"}"
    

Feldtypen für die API 4.0-Unterbrechungs-ID

In API 4.0 wurden die Typen für einige ID-Felder von Zahlen in Strings geändert. Mit unserem API-Referenz-Diff-Tool können Sie ermitteln, welche ID-Felder sich zwischen Version 3.1 und Version 4.0 geändert haben. Verwenden Sie aktuelle (23.0 und höher) Looker-unterstützte Sprach-SDKs, damit Ihre Anwendungen während und nach der Migration korrekt typisiert werden. Die meisten von der Community unterstützten Sprach-SDKs, darunter Kotlin, Swift, R, C# und Go, funktionieren bereits mit den aktualisierten Typen.

Entwickler, die benutzerdefinierte Bibliotheken verwenden, sollten in ihrem Code nach Verweisen auf diese Felder suchen, um sicherzustellen, dass sie ordnungsgemäß verarbeitet werden.

API 4.0-Differnz

Zusätzlich zu den auf dieser Dokumentationsseite aufgeführten Richtlinien enthält der Looker API Explorer eine vollständige Liste aller Unterschiede zwischen den APIs der Version 3.x und der Version 4.0.

API 3.x über die Legacy-Funktionsschaltfläche deaktivieren/aktivieren

Bei Looker-gehosteten Kunden, die Looker 23.6, 23.8, 23.10 und 23.12 verwenden, können Administratoren derzeit alle Aufrufe von API 3-Endpunkten deaktivieren. So können Sie vor dem 14. August in Ihrer Instanz testen, ob integrierte Dienste oder Anwendungen funktionieren. Aktivieren Sie dazu im Bereich Verwaltung – Ältere Funktionen die Option „API 3.x-Anfragen ablehnen“.

Kunden mit selbst gehosteten Looker-Versionen 23.6, 23.8, 23.10 und 23.12 können vor dem Starten von Looker den folgenden Shell-Befehl ausführen, um eine Umgebungsvariable hinzuzufügen, durch die die Option „API 3.x-Anfragen ablehnen“ sichtbar wird. Hinweis: Nach Ausführung des Befehls müssen Sie die Option im Bereich „Alte Funktionen“ in der Looker-Benutzeroberfläche noch aktivieren, um API 3-Aufrufe zu beenden:

export FF_DENY_API3=true

FAQ

Ich bin mir nicht sicher, ob in meiner Instanz API 3.x-Aufrufe ausgeführt werden. Wo finde ich diese Informationen?

Ab Looker 23.8 wird in der Spalte „Quelle“ im Bereich „Verwaltung“ > „Abfragen“ jetzt die korrekte API-Version (v3 oder v4) für Abfragen angezeigt, die über die Looker API gestartet werden. Dazu gehören keine Informationen zu Administrator- oder Entwickleraufgaben wie dem Erstellen von Nutzern oder LookML-Entwicklungs-/Git-Aufgaben.

In unserem internen Berichtsservice finden Sie ausführlichere Informationen zu API-Anfragen, einschließlich derjenigen, die für die Ausführung von Aufgaben zur Verwaltung und LookML-Entwicklung verwendet werden. Kunden mit Instanzen, die der empfohlenen Netzwerkkonfiguration entsprechen, können sich an den Looker-Support wenden, um einen Export dieser Daten anzufordern.

Ich hoste meine eigene Instanz. Muss ich bis zum 14. August 2023 umstellen?

Wenn Ihre Instanz selbst gehostet wird, müssen Sie die Änderungen vornehmen, bevor Sie auf den Release vom August 2023 (Version 23.14) oder einen nachfolgenden Release aktualisieren. Wir empfehlen Ihnen, so bald wie möglich damit zu beginnen, damit Sie weiterhin eine unterstützte Version verwenden können und Looker optimal nutzen können.

Meine Instanz wird von Looker gehostet, aber im ESR-Programm. Muss ich bis zum 14. August 2023 umstellen?

Sie müssen die Änderungen vornehmen, bevor Ihre Instanz auf den Release von August 2023 (Version 23.14) oder einen nachfolgenden Release aktualisiert wird. Wir empfehlen, so bald wie möglich mit diesen Arbeiten zu beginnen, damit Sie nicht in Zeitnot geraten, wenn das Upgrade für Ihre Instanz geplant ist.

Ich habe mir die Dokumentation durchgelesen, aber es treten weiterhin Probleme auf oder ich bin mir nicht sicher, wie ich vorgehen soll.

Kunden, die die Migration zu API 4.0 nicht erfolgreich durchführen können, wenden sich bitte an den Looker-Support.