Bagikan melalui


Cara memeriksa apakah aplikasi saya menggunakan API tingkat produksi

Saat membuat aplikasi, Anda mungkin menggunakan API yang masih dalam pratinjau. Anda sering menggunakan API pratinjau, saat mengintegrasikan dengan fitur baru yang sedang dibangun bersama dengan aplikasi Anda. Sebelum merilis aplikasi ke produksi, Anda harus memastikan bahwa Anda menggunakan API tingkat produksi. Saat Anda menggunakan API yang stabil, yang didukung dan dicakup oleh Perjanjian Tingkat Layanan (SLA), aplikasi Anda lebih kuat.

Untuk memeriksa apakah aplikasi Anda menggunakan API tingkat produksi, Anda dapat menggunakan ApiCenterProductionVersionPlugin plugin. Plugin ini membandingkan informasi tentang permintaan API dari aplikasi Anda dengan informasi dari Azure API Center dan laporan tentang permintaan API nonproduksi apa pun. Ini juga merekomendasikan versi produksi API yang Anda gunakan.

Cuplikan layar konsol yang menunjukkan pemeriksaan Dev Proxy apakah permintaan API yang direkam cocok dengan API versi produksi yang terdaftar di Azure API Center.

Sebelum memulai

Untuk mendeteksi permintaan API nonproduksi, Anda harus memiliki instans Azure API Center dengan informasi tentang API yang Anda gunakan di organisasi Anda.

Membuat Instans Azure API Center

Sebelum memulai, buat instans Azure API Center dan daftarkan API yang Anda gunakan di organisasi Anda. Untuk setiap API, tentukan versi yang Anda gunakan dan tentukan tahap siklus hidupnya.

Cuplikan layar Azure API Center memperlihatkan API dengan versi yang berbeda

ApiCenterProductionVersionPlugin menggunakan informasi ini untuk memeriksa apakah API yang digunakan aplikasi Anda termasuk dalam API produksi atau nonproduksi.

Salin informasi API Center

Dari halaman Gambaran Umum instans Azure API Center, salin nama instans API Center, nama grup sumber daya, dan ID langganan. Anda memerlukan informasi ini untuk mengonfigurasi ApiCenterProductionVersionPlugin sehingga dapat terhubung ke instans Azure API Center Anda.

Cuplikan layar halaman gambaran umum Azure API Center dengan beberapa properti disorot

Mengonfigurasi Proksi Dev

Untuk memeriksa apakah aplikasi Anda menggunakan API tingkat produksi, Anda perlu mengaktifkan ApiCenterProductionVersionPlugin di file konfigurasi Dev Proxy. Untuk membuat laporan API yang digunakan aplikasi Anda, tambahkan reporter.

Aktifkan ApiCenterProductionVersionPlugin

devproxyrc.json Dalam file, tambahkan konfigurasi berikut:

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v0.29.2/rc.schema.json",
  "plugins": [
    {
      "name": "ApiCenterProductionVersionPlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
      "configSection": "apiCenterProductionVersionPlugin"
    }
  ],
  "urlsToWatch": [
    "https://jsonplaceholder.typicode.com/*"
  ],
  "apiCenterProductionVersionPlugin": {
    "subscriptionId": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
    "resourceGroupName": "demo",
    "serviceName": "contoso-api-center",
    "workspaceName": "default"
  }
}

Di properti subscriptionId, resourceGroupName, dan serviceName, berikan informasi tentang instans Azure API Center Anda.

urlsToWatch Di properti , tentukan URL yang digunakan aplikasi Anda.

Petunjuk

Gunakan ekstensi Dev Proxy Toolkit Visual Studio Code untuk mengelola konfigurasi Dev Proxy dengan mudah.

Menambahkan wartawan

ApiCenterProductionVersionPlugin menghasilkan laporan tentang API yang digunakan oleh aplikasi Anda. Untuk melihat laporan ini, tambahkan reporter ke file konfigurasi Dev Proxy Anda. Dev Proxy menawarkan beberapa wartawan. Dalam contoh ini, Anda menggunakan reporter teks biasa.

Perbarui file Anda devproxyrc.json dengan referensi ke reporter teks biasa:

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v0.29.2/rc.schema.json",
  "plugins": [
    {
      "name": "ApiCenterProductionVersionPlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
      "configSection": "apiCenterProductionVersionPlugin"
    },
    {
      "name": "PlainTextReporter",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll"
    }
  ],
  "urlsToWatch": [
    "https://jsonplaceholder.typicode.com/*"
  ],
  "apiCenterProductionVersionPlugin": {
    "subscriptionId": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
    "resourceGroupName": "demo",
    "serviceName": "contoso-api-center",
    "workspaceName": "default"
  }
}

Periksa apakah aplikasi Anda menggunakan API tingkat produksi

Untuk memeriksa apakah aplikasi Anda menggunakan API tingkat produksi, Anda perlu terhubung ke langganan Azure, menjalankan Dev Proxy, dan membiarkannya mencegat permintaan API dari aplikasi Anda. Dev Proxy kemudian membandingkan informasi tentang permintaan API dengan informasi dari Azure API Center dan laporan tentang API nonproduksi apa pun.

Menyambungkan ke langganan Azure Anda

Dev Proxy menggunakan informasi dari Azure API Center untuk menentukan apakah API yang digunakan aplikasi Anda adalah tingkat produksi. Untuk mendapatkan informasi ini, diperlukan koneksi ke langganan Azure Anda. Anda dapat menyambungkan ke langganan Azure Anda dengan beberapa cara.

Jalankan Proksi Dev

Setelah menyambungkan ke langganan Azure Anda, mulai Dev Proxy. Jika Anda memulai Proksi Dev dari folder yang sama tempat file Anda devproxyrc.json berada, file tersebut secara otomatis memuat konfigurasi. Jika tidak, tentukan jalur ke file konfigurasi menggunakan --config-file opsi .

Saat Dev Proxy dimulai, Dev Proxy memeriksa apakah proksi tersebut dapat tersambung ke langganan Azure Anda. Saat koneksi berhasil, Anda akan melihat pesan yang mirip dengan:

 info    Plugin ApiCenterProductionVersionPlugin connecting to Azure...
 info    Listening on 127.0.0.1:8000...

Hotkeys: issue (w)eb request, (r)ecord, (s)top recording, (c)lear screen
Press CTRL+C to stop Dev Proxy

Tekan r untuk mulai merekam permintaan API dari aplikasi Anda.

Menggunakan aplikasi Anda

Gunakan aplikasi seperti yang biasa Anda lakukan. Dev Proxy mencegat permintaan API dan menyimpan informasi tentang mereka dalam memori. Di baris perintah tempat Proksi Dev berjalan, Anda akan melihat informasi tentang permintaan API yang dilakukan aplikasi Anda.

 info    Plugin ApiCenterProductionVersionPlugin connecting to Azure...
 info    Listening on 127.0.0.1:8000...

Hotkeys: issue (w)eb request, (r)ecord, (s)top recording, (c)lear screen
Press CTRL+C to stop Dev Proxy

◉ Recording... 

 req   ╭ GET https://jsonplaceholder.typicode.com/posts?api-version=v1.0
 api   ╰ Passed through

 req   ╭ GET https://jsonplaceholder.typicode.com/users?api-version=beta
 api   ╰ Passed through

Periksa versi API

Hentikan perekaman dengan menekan s. Dev Proxy terhubung ke instans API Center dan membandingkan informasi tentang permintaan dengan informasi dari API Center.

 info    Plugin ApiCenterProductionVersionPlugin connecting to Azure...
 info    Listening on 127.0.0.1:8000...

Hotkeys: issue (w)eb request, (r)ecord, (s)top recording, (c)lear screen
Press CTRL+C to stop Dev Proxy

◉ Recording... 

 req   ╭ GET https://jsonplaceholder.typicode.com/posts?api-version=v1.0
 api   ╰ Passed through

 req   ╭ GET https://jsonplaceholder.typicode.com/users?api-version=beta
 api   ╰ Passed through
○ Stopped recording
 info    Checking if recorded API requests use production APIs as defined in API Center...
 info    Loading APIs from API Center...
 info    Analyzing recorded requests...
 warn    Request GET https://jsonplaceholder.typicode.com/users?api-version=beta uses API version beta which is defined as Preview. Upgrade to a production version of the API. Recommended versions: v1.0
 info    DONE

Saat Dev Proxy menyelesaikan analisisnya, Dev Proxy membuat laporan dalam file bernama ApiCenterProductionVersionPlugin_PlainTextReporter.txt dengan konten berikut:

Non-production APIs:

  GET https://jsonplaceholder.typicode.com/users?api-version=beta
  
Production APIs:

  GET https://jsonplaceholder.typicode.com/posts?api-version=v1.0

Ringkasan

ApiCenterProductionVersionPluginDengan menggunakan , Anda dapat memeriksa apakah aplikasi Anda menggunakan API tingkat produksi. Plugin membandingkan informasi tentang permintaan API dari aplikasi Anda dengan informasi dari Azure API Center dan laporan tentang permintaan API nonproduksi apa pun. Ini juga merekomendasikan versi produksi API yang Anda gunakan. Memverifikasi API apa yang digunakan aplikasi Anda, membantu Anda memastikan bahwa aplikasi Anda menggunakan API yang stabil, yang didukung dan dicakup oleh SLA, membuat aplikasi Anda lebih kuat. Anda dapat menjalankan pemeriksaan ini secara manual atau berintegrasi dengan alur CI/CD Anda untuk memastikan bahwa aplikasi Anda menggunakan API tingkat produksi sebelum merilisnya ke produksi.

Informasi selengkapnya