Descontinuação da API Looker 3.x

A API 3.x será desativada em agosto de 2023

Já tínhamos comunicado que essa mudança aconteceria na versão de julho de 2023. Com base no feedback dos clientes, mudamos esse prazo para agosto de 2023 para facilitar a transição. Feche esta caixa de diálogo para mais detalhes.

Depois da versão em disponibilidade geral da API 4.0 no Looker 22.4, anunciamos a descontinuação da API 3.1, além da API 3.0, que já foi descontinuada.

No anúncio de descontinuação em junho de 2022, as APIs 3.1 e 3.0, chamadas de 3.x, tiveram o status de descontinuação. As versões da API 3.x serão desativadas a partir do lançamento da versão 23.14 do Looker, em agosto de 2023.

Esse upgrade será lançado nas instâncias hospedadas do Looker durante o horário de manutenção entre 14 e 24 de agosto. Por isso, todas as instâncias hospedadas pelo Looker precisam fazer upgrade dos aplicativos antes de 14 de agosto de 2023 para usar endpoints de API 4.0 em vez de 3.x. As funcionalidades que dependem de endpoints 3.x vão deixar de funcionar após essa mudança.

Se a instância for auto-hospedada, faça upgrade dos aplicativos antes de fazer upgrade da instância do Looker para a versão 23.14 ou mais recente.

A API 4.0 abrange totalmente a funcionalidade oferecida pelas APIs descontinuadas, e esperamos que o upgrade da versão 3.x para 4.0 seja simples para a maioria dos clientes.

Os clientes que não conseguirem migrar para a API 4.0 devem entrar em contato com o suporte do Looker.

Linha do tempo

  • Antes de 2022: a API 3.0 está com status de descontinuação, a 3.1 está em status estável e a 4.0 está em status Beta
  • Março de 2022: a API 4.0 entra em status estável e geralmente está disponível no Looker 22.4
  • Junho de 2022: descontinuação da API 3.1 anunciada
  • Agosto de 2023: a API 3.x será desativada no Looker

Quem deve ler isto?

Este documento é para quem usa a API Looker com SDKs com suporte ao Looker, SDKs com suporte da comunidade ou a própria API. Continue lendo para saber mais sobre as alterações interruptivas que podem afetar seu aplicativo e

O que eu preciso fazer?

Você precisará fazer as seguintes alterações no seu código. Eles são descritos com mais detalhes abaixo. - Mudar o código para apontar para a nova API - Identificar o uso de endpoints removidos e substituir essas referências pelo equivalente da API 4.0 - Atualizar os valores de ID que antes foram expressos em números a serem expressos como strings

Detalhes de migração da API 4.0

Como mudar o código para apontar para a nova API

Ao fazer chamadas de API diretamente pela linha de comando ou por programas como o Postman, você precisará ajustar o URL usado para fazer a solicitação.

### 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

Se você usa um dos nossos SDKs, precisa verificar se a versão correta dele está sendo inicializada. Veja um exemplo básico de como é o início de um script Python usando nosso SDK nas duas versões:

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

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

Depois de fazer as mudanças na API 4.0, é hora de testar o código e procurar as mudanças mencionadas abaixo.

Substituições de endpoint da API 3.x

Para manter a terminologia consistente entre a API Looker e a interface do Looker, a API 4.0 substitui alguns endpoints descontinuados da API 3.x por endpoints equivalentes ou aprimorados, listados abaixo:

Os endpoints "Espaço" foram renomeados. Use endpoints de "Pasta" sinônimos.

Exemplo de SDK do Python

    #####################
    ##### 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"
      )
    )
    

Exemplo de cURL

    #####################
    ##### 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\"}"
    

Os endpoints da "Página inicial" foram removidos. Em vez disso, use endpoints "board" de funcionalidade expandida.

Exemplo de SDK do Python

    #####################
    ##### 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"
      )
    )
    

Exemplo de cURL

    #####################
    ##### 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\"}"
    

Tipos de campo de ID de quebra da API 4.0

A API 4.0 atualizou os tipos de alguns campos de ID de números para strings. Use nossa ferramenta de diferenciação de referência da API para determinar quais campos de ID foram alterados entre as versões 3.1 e 4.0. Use SDKs de linguagens compatíveis com o Looker atualizados (23.0+) para garantir que os tipos dos aplicativos estejam corretos durante e após a migração. A maioria dos SDKs de linguagem com suporte da comunidade, incluindo Kotlin, Swift, R, C# e Go, também funciona com os tipos atualizados.

Os desenvolvedores que usam bibliotecas personalizadas devem procurar referências a esses campos no código para garantir que sejam tratados adequadamente.

Dif. da API 4.0

Além das diretrizes listadas nesta página de documentação, o Looker API Explorer fornece uma lista completa de todas as diferenças entre as APIs 3.x e 4.0.

Como desativar/ativar a API 3.x por meio da alternância de recursos legados

Nos clientes hospedados pelo Looker que usam as versões 23.6, 23.8, 23.10 e 23.12, os administradores podem desativar todas as chamadas para endpoints da API 3. Dessa forma, você vai poder fazer testes na instância para garantir que nenhum serviço ou aplicativo integrado vai ser corrompido antes do prazo de 14 de agosto. Para isso, é possível ativar a opção "Negar solicitações da API 3.x" no painel do administrador de recursos legados.

Os clientes auto-hospedados que usam o Looker 23.6, 23.8, 23.10 e 23.12 podem executar o seguinte comando shell antes de iniciar o Looker para adicionar uma variável de ambiente, o que vai tornar o botão "Negar solicitações da API 3.x" visível. Observação: depois de executar o comando, você ainda vai precisar alternar o botão no painel "Recursos legados" na interface do Looker para interromper as chamadas da API 3.

export FF_DENY_API3=true

Perguntas frequentes

Não sei se há chamadas à API 3.x sendo feitas na minha instância. Como encontro essas informações?

A partir do Looker 23.8, a coluna "Origem" no painel Administrador > Consultas mostra corretamente a versão da API (v3 ou v4) para consultas iniciadas na API Looker. Isso não inclui informações sobre tarefas de administrador ou desenvolvedor, como a criação de usuários ou tarefas de desenvolvimento/Git do LookML.

Nosso serviço interno de relatórios tem informações mais detalhadas sobre solicitações de API, incluindo aquelas usadas para concluir tarefas de desenvolvimento de Admin e LookML. Os clientes com instâncias que seguem a configuração de rede recomendada podem entrar em contato com o suporte do Looker para solicitar uma exportação desses dados.

Eu hospedo minha própria instância. Preciso fazer upgrade até 14 de agosto de 2023?

Se a instância for auto-hospedada, você vai precisar fazer as mudanças antes de fazer upgrade para a versão de agosto de 2023 (23.14) ou para qualquer versão subsequente. Recomendamos que você comece a fazer esse trabalho o mais rápido possível para continuar usando uma versão com suporte e ter a melhor experiência com o Looker.

Minha instância é hospedada pelo Looker, mas no programa ESR. Preciso fazer upgrade até 14 de agosto de 2023?

Você vai precisar fazer as mudanças antes do upgrade da instância para a versão 23.14 de agosto de 2023 ou para qualquer versão subsequente. Recomendamos que você comece a fazer esse trabalho o mais rápido possível para não ter pressa quando sua instância estiver programada para receber esse upgrade.

Li a documentação, mas ainda estou com problemas ou não sei como proceder.

Os clientes que não conseguirem migrar para a API 4.0 devem entrar em contato com o suporte do Looker.