Halaman ini menyediakan prosedur konfigurasi dan deployment mendetail untuk mengubah nomor versi API Anda. Prosedur yang Anda gunakan bergantung pada apakah perubahan pada API Anda kompatibel dengan versi lama.
- Jika versi API baru Anda memiliki perubahan yang kompatibel dengan versi lama, seperti menambahkan kolom atau metode baru, lihat Perubahan yang kompatibel dengan versi lama.
- Jika API baru Anda memiliki perubahan pada metode yang sudah ada yang merusak kode klien pelanggan, lihat Perubahan yang tidak kompatibel dengan versi lama.
Untuk informasi dan praktik terbaik lainnya, lihat Pengelolaan siklus proses API.
Perubahan yang kompatibel dengan versi lama
Saat Anda membuat perubahan pada API yang memiliki kompatibilitas mundur dengan kode klien yang ada, sebagai praktik terbaik, tambahkan nomor versi minor API Anda sebelum men-deploy versi yang baru. Meskipun Cloud Endpoints hanya menjalankan satu versi minor API dalam satu waktu, grafik dan log di Endpoint > Layanan menampilkan nomor versi. Dengan menambahkan nomor versi minor sebelum men-deploy, grafik dan log akan memberikan histori deployment Anda yang diberi label.
Untuk menambahkan nomor versi minor:
Di
openapi.yaml
, tambahkan nomor versi minor kolominfo.version
. Misalnya, jika versi saat ini adalah1.1
, tetapkaninfo.version
ke1.2
:info: description: "A simple Cloud Endpoints API example." title: "Endpoints Example" version: "1.2" host: "echo-api.endpoints.example-project-12345.cloud.goog"
Gunakan Google Cloud CLI untuk men-deploy konfigurasi API:
gcloud endpoints services deploy openapi.yaml
Deploy backend API menggunakan ID konfigurasi yang ditampilkan dari langkah sebelumnya. Untuk mengetahui detailnya, lihat Men-deploy backend API.
Perubahan yang tidak kompatibel dengan versi lama
Saat Anda melakukan perubahan pada API yang merusak kode klien pelanggan, sebagai praktik terbaik, naikkan nomor versi utama API Anda. Endpoint dapat menjalankan lebih dari satu versi utama API secara bersamaan. Dengan menyediakan kedua versi API, pelanggan Anda dapat memilih versi mana yang ingin mereka gunakan dan mengontrol kapan mereka bermigrasi ke versi baru.
Untuk menjalankan versi API yang ada dan baru secara serentak:
Buat file konfigurasi OpenAPI terpisah untuk setiap versi yang perlu Anda layani. Prosedur ini menggunakan nama file
openapi-v1.yaml
danopenapi-v2.yaml
sebagai contoh.Salin konten
openapi-v1.yaml
keopenapi-v2.yaml
.Di
openapi-v1.yaml
, konfigurasikan hal berikut:- Tetapkan kolom
info.version
ke nomor versi yang ada. - Jangan ubah kolom
basePath
.
Contoh:
info: description: "A simple Cloud Endpoints API example." title: "Endpoints Example" version: "1.1" host: "echo-api.endpoints.example-project-12345.cloud.goog" basePath: "/v1"
- Tetapkan kolom
Di
openapi-v2.yaml
, konfigurasikan hal berikut:- Membuat perubahan yang tidak kompatibel dengan versi sebelumnya.
- Tetapkan kolom
info.version
ke nomor versi baru. - Tetapkan kolom
basePath
untuk menyertakan nomor versi utama baru. - Hapus bagian
x-google-endpoints
. Bagian ini diperlukan jika Anda ingin menentukan alamat IP DNS atau flagallowCors
. Saat men-deploy dua versi API dengan dua file konfigurasi yaml, hanya satu dari mereka yang dapat memilikix-google-endpoints
, tetapi konfigurasinya akan berlaku untuk kedua versi tersebut.
Contoh:
info: description: "A simple Google Cloud Endpoints API example." title: "Endpoints Example" version: "2.0" host: "echo-api.endpoints.example-project-12345.cloud.goog" basePath: "/v2"
Gunakan Google Cloud CLI untuk men-deploy kedua file konfigurasi API:
gcloud endpoints services deploy openapi-v1.yaml openapi-v2.yaml
Deploy satu backend yang menayangkan kedua versi API menggunakan ID konfigurasi yang ditampilkan dari langkah sebelumnya. Untuk mengetahui detailnya, lihat Men-deploy backend API.