Einstellung der Looker API 3.x

API 3.x wird im August 2023 deaktiviert

Wir hatten Ihnen bereits mitgeteilt, dass diese Änderung im Juli 2023 erfolgt. Aufgrund des Feedbacks unserer Kunden haben wir diese Frist auf August 2023 verschoben, um die Umstellung zu erleichtern. Schließen Sie dieses Dialogfeld, um weitere Informationen zu erhalten.

Nach der GA-Version von API 4.0 in Looker 22.4 haben wir angekündigt, dass neben der bereits eingestellten 3.0 API auch die API 3.1 eingestellt wird.

Als wir im Juni 2022 angekündigt haben, wurden sowohl die API 3.1 als auch die API 3.0, die als 3.x bezeichnet werden, in den veralteten Status versetzt. Die 3.x API-Versionen werden ab der Veröffentlichung von Looker-Version 23.14 im August 2023 deaktiviert.

Dieses Upgrade wird während der Wartungszeiten zwischen dem 14. und 24. August für von Looker gehostete Instanzen 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 ist, müssen Sie ein Upgrade Ihrer Anwendungen durchführen, bevor Sie ein Upgrade Ihrer Looker-Instanz auf Version 23.14 oder höher durchführen.

Die API 4.0 deckt alle Funktionen der eingestellten APIs vollständig ab und wir gehen davon aus, dass das Upgrade von 3.x auf 4.0 für die meisten Kunden unkompliziert sein wird.

Kunden, die nicht zu API 4.0 migrieren können, sollten sich an den Looker-Support wenden.

Zeitplan

  • Vor 2022: API 3.0 wurde eingestellt, 3.1 ist stabil und 4.0 befindet sich in der Betaphase
  • März 2022: API 4.0 geht in den stabilen Status und ist in Looker 22.4 allgemein verfügbar
  • Juni 2022: Einstellung von API 3.1 wird angekündigt
  • August 2023: API 3.x wird in Looker deaktiviert

Wer sollte dies lesen?

Dieses Dokument richtet sich an Sie, wenn Sie die Looker-API über von Looker unterstützte SDKs, von der Community unterstützte SDKs oder die API selbst verwenden. Lesen Sie weiter, um mehr über funktionsgefährdende Änderungen zu erfahren, die sich auf Ihre Anwendung auswirken können, und lernen Sie

Was muss ich tun?

Nehmen Sie die folgenden Änderungen an Ihrem Code vor. Diese werden im Folgenden genauer beschrieben. - Ändern Sie Ihren Code so, dass er auf die neue API verweist. - Ermitteln Sie die Verwendung von entfernten Endpunkten und ersetzen Sie diese Verweise durch die entsprechende API 4.0. - Aktualisieren Sie ID-Werte, die zuvor als Zahlen ausgedrückt wurden.

Details zur API 4.0-Migration

Code ändern, sodass 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 SDK-Version initialisieren. Hier ein einfaches Beispiel dafür, wie der Anfang eines Python-Skripts mit unserem SDK in beiden Versionen aussehen könnte:

### 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 API 4.0 vorgenommen haben, ist es an der Zeit, Ihren Code zu testen und nach den unten erwähnten Änderungen zu suchen.

API 3.x-Endpunktersetzung

Um die Terminologie zwischen der Looker-API und der Looker-Benutzeroberfläche einheitlich zu halten, ersetzt API 4.0 einige eingestellte API 3.x-Endpunkte durch gleichwertige oder verbesserte Endpunkte (siehe unten):

„Space“-Endpunkte wurden umbenannt. Verwenden Sie stattdessen Synonymendpunkte für „Ordner“.

Beispiel für ein 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 Endpunkte mit erweiterten Funktionen.

Beispiel für ein 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\"}"
    

API 4.0 – Fehlerhafte ID-Feldtypen

In API 4.0 wurden die Typen für einige ID-Felder von Zahlen zu Strings aktualisiert. Verwenden Sie unser Tool für die API-Referenzdifferenz, um festzustellen, welche ID-Felder zwischen 3.1 und 4.0 geändert wurden. Verwenden Sie aktuelle von Looker unterstützte Sprach-SDKs (ab 23.0), damit der Typ Ihrer Anwendungen während und nach der Migration korrekt ist. Die meisten von der Community unterstützten Sprach-SDKs, einschließlich Kotlin, Swift, R, C# und Go, funktionieren bereits mit den aktualisierten Typen.

Entwickler, die benutzerdefinierte Bibliotheken verwenden, sollten ihren Code nach Verweisen auf diese Felder durchsuchen, um sicherzustellen, dass sie korrekt verarbeitet werden.

API 4.0-Differenz

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

API 3.x über die Ein/Aus-Schaltfläche für Legacy-Funktionen deaktivieren/aktivieren

Für von Looker gehostete Kunden, die Looker 23.6, 23.8, 23.10 und 23.12 verwenden, können Administratoren derzeit alle Aufrufe an API 3-Endpunkte deaktivieren. So können Sie vor dem 14. August Ihre Instanz testen, um sicherzustellen, dass keine integrierten Dienste oder Anwendungen unterbrochen werden. Dazu können Sie im Admin-Steuerfeld für ältere Funktionen die Option „API 3.x-Anfragen ablehnen“ aktivieren.

Selbst gehostete Kunden, die Looker 23.6, 23.8, 23.10 und 23.12 verwenden, können den folgenden Shell-Befehl ausführen, bevor sie Looker starten, um eine Umgebungsvariable hinzuzufügen. Dadurch wird die Ein/Aus-Schaltfläche „API 3.x-Anfragen ablehnen“ sichtbar. (Hinweis: Nachdem Sie den Befehl ausgeführt haben, müssen Sie die Ein/Aus-Schaltfläche im Bereich „Legacy Features“ in der Looker-Benutzeroberfläche noch aktivieren, um API 3-Aufrufe zu beenden.)

export FF_DENY_API3=true

Häufig gestellte Fragen

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

Ab Looker 23.8 wird in der Spalte „Quelle“ im Bereich „Admin > Abfragen“ jetzt die API-Version (v3 oder v4) für Abfragen korrekt angezeigt, die über die Looker API initiiert werden. Dies umfasst keine Informationen zu Administrator- oder Entwickleraufgaben wie dem Erstellen von Nutzern oder LookML-Entwicklungs-/Git-Aufgaben.

Unser interner Berichtsdienst verfügt über detailliertere Informationen zu API-Anfragen, einschließlich der Anfragen, die zur Durchführung von Administrator- und LookML-Entwicklungsaufgaben 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 upgraden?

Wenn Ihre Instanz selbst gehostet ist, müssen Sie die Änderungen vornehmen, bevor Sie ein Upgrade auf die Version 23.14 von August 2023 oder eine nachfolgende Version durchführen. Wir empfehlen, mit dieser Arbeit so bald wie möglich zu beginnen, damit Sie bei einer unterstützten Version bleiben und Looker optimal nutzen können.

Meine Instanz wird von Looker gehostet, gehört aber zum ESR-Programm. Muss ich bis zum 14. August 2023 upgraden?

Sie müssen die Änderungen vornehmen, bevor die Instanz auf das Release von August 2023 (Version 23.14) oder eine nachfolgende Version aktualisiert wird. Wir empfehlen, mit dieser Arbeit so schnell wie möglich zu beginnen, damit Sie nicht unter Druck stehen, wenn Ihre Instanz das Upgrade erhalten soll.

Ich habe die Dokumentation gelesen, aber immer noch Probleme oder weiß nicht, wie ich vorgehen soll.

Kunden, die nicht zu API 4.0 migrieren können, sollten sich an den Looker-Support wenden.