API 3.x akan dinonaktifkan pada Agustus 2023
Sebelumnya, kami telah menyampaikan bahwa perubahan ini akan terjadi dalam rilis Juli 2023. Berdasarkan masukan pelanggan, kami telah memundurkan batas waktu ini ke Agustus 2023 untuk membantu memperlancar transisi ini. Tutup dialog ini untuk mengetahui detail selengkapnya.
Setelah rilis GA API 4.0 di Looker 22.4, kami mengumumkan penghentian penggunaan API 3.1, selain API 3.0 yang sudah tidak digunakan lagi.
Sejak pengumuman penghentian penggunaan kami pada Juni 2022, API 3.1 dan API 3.0, yang disebut sebagai 3.x, berstatus tidak digunakan lagi. Versi API 3.x akan dinonaktifkan mulai rilis Looker versi 23.14 pada Agustus 2023.
Upgrade ini akan diluncurkan ke instance yang dihosting oleh Looker selama jam pemeliharaan antara 14 Agustus dan 24 Agustus. Oleh karena itu, semua instance yang dihosting oleh Looker harus mengupgrade aplikasinya untuk menggunakan endpoint API 4.0, bukan endpoint API 3.x, sebelum 14 Agustus 2023. Fungsi apa pun yang mengandalkan endpoint 3.x akan berhenti berfungsi setelah perubahan ini.
Jika instance Anda dihosting sendiri, Anda harus mengupgrade aplikasi sebelum mengupgrade instance Looker ke versi 23.14 atau yang lebih baru.
API 4.0 sepenuhnya mencakup fungsi yang ditawarkan oleh API yang tidak digunakan lagi, dan kami memperkirakan upgrade dari 3.x ke 4.0 akan mudah bagi sebagian besar pelanggan.
Pelanggan yang tidak berhasil bermigrasi ke API 4.0 harus menghubungi Dukungan Looker.
Linimasa
- Sebelum 2022: API 3.0 dalam status tidak digunakan lagi, 3.1 dalam status stabil, dan 4.0 dalam status beta
- Maret 2022: API 4.0 memasuki status stabil dan tersedia secara umum di Looker 22.4
- Juni 2022: Penghentian penggunaan API 3.1 diumumkan
- Agustus 2023: API 3.x akan dinonaktifkan di Looker
Siapa yang harus membaca panduan ini?
Dokumen ini ditujukan untuk Anda jika Anda menggunakan Looker API melalui SDK yang didukung Looker, SDK yang didukung Komunitas, atau API itu sendiri. Lanjutkan membaca untuk mempelajari perubahan yang dapat menyebabkan gangguan yang mungkin memengaruhi aplikasi Anda dan pelajari
Apa yang harus saya lakukan?
Anda harus melakukan perubahan berikut pada kode Anda. Hal ini dijelaskan secara lebih mendetail di bagian selanjutnya pada halaman ini.
- Ubah kode Anda agar mengarah ke API baru.
- Identifikasi penggunaan endpoint yang dihapus dan ganti referensi tersebut dengan yang setara di API 4.0.
- Perbarui nilai ID yang sebelumnya dinyatakan sebagai angka menjadi string.
Detail Migrasi API 4.0
Mengubah kode Anda agar mengarah ke API baru
Saat melakukan panggilan API secara langsung melalui command line atau program seperti Postman, Anda harus menyesuaikan URL yang digunakan untuk membuat permintaan.
### 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
Jika Anda menggunakan salah satu SDK kami, Anda harus memastikan bahwa Anda menginisialisasi versi SDK yang benar. Berikut adalah contoh dasar tampilan awal skrip Python yang menggunakan SDK kami di kedua versi:
### API 3.1 ###
import looker_sdk
sdk = looker_sdk.init31()
### API 4.0 ###
import looker_sdk
sdk = looker_sdk.init40()
Setelah Anda membuat perubahan pada API 4.0, saatnya menguji kode dan memperhatikan perubahan berikut.
Penggantian Endpoint API 3.x
Agar terminologi tetap konsisten antara Looker API dan UI Looker, API 4.0 mengganti beberapa endpoint API 3.x yang tidak digunakan lagi dengan endpoint yang setara atau lebih baik, yang tercantum di bawah:
Endpoint "Ruang" telah diganti namanya. Gunakan endpoint "Folder" yang sinonim.
- Tinjau dokumentasi fitur folder.
- Lihat daftar endpoint API folder.
Contoh 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" ) )
Contoh cURL
##################### ##### API 3 ######### ##################### # Get Folder info by IDcurl -H "Authorization: token Tg7gjGZD7B8c3k7g6XtmbcyYrQgMrXpjkR25dQ2G" https://myinstance.looker.com/api/3.1/spaces/555# Change name of existing Foldercurl -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 IDcurl -H "Authorization: token Tg7gjGZD7B8c3k7g6XtmbcyYrQgMrXpjkR25dQ2G" https://myinstance.looker.com/api/4.0/folders/555# Change name of existing Foldercurl -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\"}"
Endpoint "Halaman beranda" telah dihapus. Gunakan endpoint "board" dengan fungsi yang diperluas.
- Tinjau dokumentasi fitur board.
- Lihat daftar endpoint API board.
Contoh 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" ) )
Contoh cURL
##################### ##### API 3 ######### ##################### # Get Board info by IDcurl -H "Authorization: token Tg7gjGZD7B8c3k7g6XtmbcyYrQgMrXpjkR25dQ2G" https://myinstance.looker.com/api/3.1/homepages/1348# Update displayed title of Board itemcurl -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 IDcurl -H "Authorization: token Tg7gjGZD7B8c3k7g6XtmbcyYrQgMrXpjkR25dQ2G" https://myinstance.looker.com/api/4.0/boards/1348# Update displayed title of Board itemcurl -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\"}"
Jenis Kolom ID yang Berubah di API 4.0
API 4.0 telah memperbarui jenis untuk beberapa kolom ID dari angka menjadi string. Gunakan alat diff referensi API kami untuk menentukan kolom ID yang telah berubah antara 3.1 dan 4.0. Gunakan SDK bahasa yang didukung Looker terbaru (23.0+) untuk memastikan aplikasi Anda memiliki jenis yang benar selama dan setelah migrasi. Sebagian besar SDK bahasa yang didukung komunitas, termasuk Kotlin, Swift, R, C#, dan Go, juga sudah berfungsi dengan jenis yang diperbarui.
Developer yang menggunakan library kustom harus menelusuri kode mereka untuk menemukan referensi ke kolom ini guna memastikan bahwa kolom tersebut ditangani dengan tepat.
Perbedaan API 4.0
Selain panduan yang tercantum di halaman dokumentasi ini, Looker API Explorer menyediakan daftar lengkap semua perbedaan antara API 3.x dan API 4.0.
Menonaktifkan/Mengaktifkan API 3.x melalui Tombol Fitur Lama
Untuk pelanggan yang dihosting oleh Looker yang menggunakan Looker 23.6, 23.8, 23.10, dan 23.12, Admin saat ini dapat menonaktifkan semua panggilan ke endpoint API 3. Dengan demikian, Anda dapat melakukan pengujian pada instance untuk memastikan tidak ada layanan atau aplikasi terintegrasi yang rusak sebelum batas waktu 14 Agustus. Untuk melakukannya, Anda dapat mengaktifkan "Tolak permintaan API 3.x" di panel Admin Fitur Lama.
Pelanggan yang dihosting sendiri yang menggunakan Looker 23.6, 23.8, 23.10, dan 23.12 dapat menjalankan perintah shell berikut sebelum memulai Looker untuk menambahkan variabel lingkungan yang akan membuat tombol "Tolak permintaan API 3.x" terlihat (Catatan: Setelah menjalankan perintah, Anda masih harus mengalihkan tombol di panel Fitur Lama di UI Looker untuk menghentikan panggilan API 3.):
export FF_DENY_API3=true
FAQ
Saya tidak yakin apakah ada panggilan API 3.x yang dilakukan di instance saya. Bagaimana cara menemukan informasi ini?
Mulai Looker 23.8, kolom Source di panel Admin > Queries kini menampilkan versi API (v3 atau v4) dengan benar untuk kueri yang dimulai dari Looker API. Informasi ini tidak akan mencakup informasi tentang tugas Admin atau Developer seperti membuat pengguna atau tugas pengembangan LookML/Git.
Layanan pelaporan internal kami memiliki informasi yang lebih mendetail tentang permintaan API, termasuk yang digunakan untuk menyelesaikan tugas Admin dan Pengembangan LookML. Pelanggan yang memiliki instance yang mengikuti konfigurasi jaringan yang direkomendasikan dapat menghubungi Dukungan Looker untuk meminta ekspor data ini.
Saya menghosting instance saya sendiri. Apakah saya perlu mengupgrade paling lambat 14 Agustus 2023?
Jika instance Anda dihosting sendiri, Anda harus melakukan perubahan sebelum mengupgrade ke rilis Agustus 2023 (versi 23.14) atau rilis berikutnya. Sebaiknya Anda mulai melakukan pekerjaan ini sesegera mungkin, sehingga Anda dapat tetap menggunakan rilis yang didukung untuk mendapatkan pengalaman terbaik dengan Looker.
Instance saya dihosting oleh Looker, tetapi menggunakan program ESR. Apakah saya perlu mengupgrade paling lambat 14 Agustus 2023?
Anda harus melakukan perubahan sebelum instance diupgrade ke rilis Agustus 2023 (versi 23.14) atau rilis berikutnya. Sebaiknya Anda mulai melakukan pekerjaan ini sesegera mungkin, sehingga Anda tidak terdesak waktu saat instance Anda dijadwalkan untuk menerima upgrade tersebut.
Saya telah membaca dokumentasi, tetapi masih mengalami masalah atau tidak yakin cara melanjutkan.
Pelanggan yang tidak berhasil bermigrasi ke API 4.0 harus menghubungi Dukungan Looker.