Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Menggunakan Azure API Center, Anda membuat katalog API yang digunakan di organisasi Anda. Ini memungkinkan Anda untuk memberi tahu API mana yang Anda gunakan, di mana API berada dalam siklus hidupnya, dan siapa yang harus dihubungi jika ada masalah. Singkatnya, memiliki katalog API terbaru membantu Anda meningkatkan postur tata kelola, kepatuhan, dan keamanan.
Saat membuat aplikasi, terutama jika Mengintegrasikan skenario baru, Anda mungkin menggunakan API yang tidak terdaftar di Azure API Center. API ini disebut API bayangan. SHADOW API adalah API yang tidak terdaftar di organisasi Anda. Api mungkin belum terdaftar, atau mungkin API yang tidak dimaksudkan untuk digunakan di organisasi Anda.
Salah satu cara untuk memeriksa API bayangan adalah dengan menggunakan Dev Proxy. Dev Proxy adalah simulator API yang mencegat dan menganalisis permintaan API dari aplikasi. Salah satu fitur Dev Proxy adalah memeriksa apakah permintaan API yang dicegat milik API yang terdaftar di API Center.
Sebelum Anda mulai
Untuk mendeteksi API bayangan, Anda harus memiliki instans Azure API Center dengan informasi tentang API yang Anda gunakan di organisasi Anda. Jika Anda belum membuatnya, lihat Panduan Cepat: Membuat Pusat API Anda. Selain itu, Anda perlu menginstal Dev Proxy.
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 Dev Proxy ApiCenterOnboardingPlugin sehingga dapat terhubung ke instans Azure API Center Anda.
Mengonfigurasi Proksi Pengembang
Untuk memeriksa apakah aplikasi Anda menggunakan API bayangan, Anda perlu mengaktifkan ApiCenterOnboardingPlugin di file konfigurasi Proxy Pengembang. Untuk membuat laporan API yang digunakan aplikasi Anda, tambahkan reporter.
Aktifkan ApiCenterOnboardingPlugin
devproxyrc.json Dalam file, tambahkan konfigurasi berikut:
{
"$schema": "https://raw.githubusercontent.com/microsoft/dev-proxy/main/schemas/v0.19.0/rc.schema.json",
"plugins": [
{
"name": "ApiCenterOnboardingPlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/dev-proxy-plugins.dll",
"configSection": "apiCenterOnboardingPlugin"
}
],
"urlsToWatch": [
"https://jsonplaceholder.typicode.com/*"
],
"apiCenterOnboardingPlugin": {
"subscriptionId": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
"resourceGroupName": "demo",
"serviceName": "contoso-api-center",
"workspaceName": "default",
"createApicEntryForNewApis": false
}
}
Di properti subscriptionId, resourceGroupName, dan serviceName, berikan informasi tentang instans Azure API Center Anda.
urlsToWatch Di properti , tentukan URL yang digunakan aplikasi Anda.
Tips
Gunakan ekstensi Dev Proxy Toolkit Visual Studio Code untuk mengelola konfigurasi Dev Proxy dengan mudah.
Menambahkan wartawan
ApiCenterOnboardingPlugin 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 pelapor teks biasa.
Perbarui file Anda devproxyrc.json dengan referensi ke reporter teks biasa:
{
"$schema": "https://raw.githubusercontent.com/microsoft/dev-proxy/main/schemas/v0.19.0/rc.schema.json",
"plugins": [
{
"name": "ApiCenterOnboardingPlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/dev-proxy-plugins.dll",
"configSection": "apiCenterOnboardingPlugin"
},
{
"name": "PlainTextReporter",
"enabled": true,
"pluginPath": "~appFolder/plugins/dev-proxy-plugins.dll"
}
],
"urlsToWatch": [
"https://jsonplaceholder.typicode.com/*"
],
"apiCenterOnboardingPlugin": {
"subscriptionId": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
"resourceGroupName": "demo",
"serviceName": "contoso-api-center",
"workspaceName": "default",
"createApicEntryForNewApis": false
}
}
Periksa apakah aplikasi Anda menggunakan API bayangan
Untuk memeriksa apakah aplikasi Anda menggunakan API bayangan, sambungkan ke langganan Azure Anda, jalankan Dev Proxy, dan biarkan aplikasi mencegat permintaan API dari aplikasi Anda. Dev Proxy kemudian membandingkan informasi tentang permintaan API dengan informasi dari Azure API Center dan laporan tentang API apa pun yang tidak terdaftar di API Center.
Menyambungkan ke langganan Azure Anda
Dev Proxy menggunakan informasi dari Azure API Center untuk menentukan apakah aplikasi Anda menggunakan API bayangan. 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 ApiCenterOnboardingPlugin 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 ApiCenterOnboardingPlugin 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 ╰ Passed through
req ╭ DELETE https://jsonplaceholder.typicode.com/posts/1
api ╰ Passed through
Periksa API bayangan
Hentikan perekaman dengan menekan s. Dev Proxy terhubung ke instans API Center dan membandingkan informasi tentang permintaan dengan informasi dari API Center.
info Plugin ApiCenterOnboardingPlugin 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 ╰ Passed through
req ╭ DELETE https://jsonplaceholder.typicode.com/posts/1
api ╰ Passed through
○ Stopped recording
info Checking if recorded API requests belong to APIs in API Center...
info Loading APIs from API Center...
info Loading API definitions from API Center...
Saat Dev Proxy menyelesaikan analisisnya, Dev Proxy membuat laporan dalam file bernama ApiCenterOnboardingPlugin_PlainTextReporter.txt dengan konten berikut:
New APIs that aren't registered in Azure API Center:
https://jsonplaceholder.typicode.com:
DELETE https://jsonplaceholder.typicode.com/posts/1
APIs that are already registered in Azure API Center:
GET https://jsonplaceholder.typicode.com/posts
Mengintegrasikan API bayangan secara otomatis
Tidak hanya ApiCenterOnboardingPlugin dapat mendeteksi API bayangan, tetapi juga secara otomatis mendaftarkan mereka ke API Center. Untuk melakukan onboarding API bayangan secara otomatis, dalam file konfigurasi Proksi Dev, perbarui createApicEntryForNewApis ke true.
{
"$schema": "https://raw.githubusercontent.com/microsoft/dev-proxy/main/schemas/v0.19.0/rc.schema.json",
"plugins": [
{
"name": "ApiCenterOnboardingPlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/dev-proxy-plugins.dll",
"configSection": "apiCenterOnboardingPlugin"
},
{
"name": "PlainTextReporter",
"enabled": true,
"pluginPath": "~appFolder/plugins/dev-proxy-plugins.dll"
}
],
"urlsToWatch": [
"https://jsonplaceholder.typicode.com/*"
],
"apiCenterOnboardingPlugin": {
"subscriptionId": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
"resourceGroupName": "demo",
"serviceName": "contoso-api-center",
"workspaceName": "default",
"createApicEntryForNewApis": true
}
}
Saat Anda menjalankan Dev Proxy dengan createApicEntryForNewApis diatur ke true, ia secara otomatis membuat entri API baru di Azure API Center untuk API bayangan yang dideteksinya.
Mendaftar otomatis API bayangan dengan spesifikasi OpenAPI
Saat Anda memilih untuk melakukan onboarding secara otomatis, SHADOW API ke API Center, Anda dapat meminta Dev Proxy menghasilkan spesifikasi OpenAPI untuk API. Orientasi API dengan spesifikasi OpenAPI mempercepat integrasi titik akhir yang belum ada dan memberi Anda informasi yang diperlukan tentang API. Ketika ApiCenterOnboardingPlugin mendeteksi bahwa Dev Proxy membuat spesifikasi OpenAPI baru, sistem ini mengaitkannya dengan API yang sudah diaktifkan di API Center.
Untuk menghasilkan spesifikasi OpenAPI secara otomatis untuk API onboarding, perbarui konfigurasi Dev Proxy untuk menyertakan OpenApiSpecGeneratorPlugin.
{
"$schema": "https://raw.githubusercontent.com/microsoft/dev-proxy/main/schemas/v0.19.0/rc.schema.json",
"plugins": [
{
"name": "OpenApiSpecGeneratorPlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/dev-proxy-plugins.dll"
},
{
"name": "ApiCenterOnboardingPlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/dev-proxy-plugins.dll",
"configSection": "apiCenterOnboardingPlugin"
},
{
"name": "PlainTextReporter",
"enabled": true,
"pluginPath": "~appFolder/plugins/dev-proxy-plugins.dll"
}
],
"urlsToWatch": [
"https://jsonplaceholder.typicode.com/*"
],
"apiCenterOnboardingPlugin": {
"subscriptionId": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
"resourceGroupName": "demo",
"serviceName": "contoso-api-center",
"workspaceName": "default",
"createApicEntryForNewApis": true
}
}
Penting
Dev Proxy menjalankan plugin dalam urutan terdaftar dalam konfigurasi. Anda perlu mendaftarkan OpenApiSpecGeneratorPlugin terlebih dahulu sehingga dapat membuat spesifikasi OpenAPI sebelum ApiCenterOnboardingPlugin memasukkan API baru.
Saat Anda menjalankan Dev Proxy dengan konfigurasi ini, ia secara otomatis membuat entri API baru di Azure API Center untuk API bayangan yang dideteksinya. Untuk setiap API baru, Dev Proxy menghasilkan spesifikasi OpenAPI dan mengaitkannya dengan API onboarding yang sesuai di API Center.
info Plugin ApiCenterOnboardingPlugin 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 ╰ Passed through
req ╭ DELETE https://jsonplaceholder.typicode.com/posts/1
api ╰ Passed through
○ Stopped recording
info Creating OpenAPI spec from recorded requests...
info Created OpenAPI spec file jsonplaceholder.typicode.com-20240614104931.json
info Checking if recorded API requests belong to APIs in API Center...
info Loading APIs from API Center...
info Loading API definitions from API Center...
info New APIs that aren't registered in Azure API Center:
https://jsonplaceholder.typicode.com:
DELETE https://jsonplaceholder.typicode.com/posts/1
info Creating new API entries in API Center...
info Creating API new-jsonplaceholder-typicode-com-1718354977 for https://jsonplaceholder.typicode.com...
info DONE
Ringkasan
Menggunakan Dev Proxy dan ApiCenterOnboardingPlugin, Anda dapat memeriksa apakah aplikasi Anda menggunakan API bayangan. Plugin menganalisis permintaan API dari aplikasi Anda dan melaporkan permintaan API apa pun yang tidak terdaftar di Azure API Center. Plugin ini memungkinkan Anda untuk dengan mudah mengintegrasikan API yang belum terdaftar ke API Center. Dengan menggabungkan ApiCenterOnboardingPlugin plugin dengan OpenApiSpecGeneratorPlugin, Anda dapat secara otomatis menghasilkan spesifikasi OpenAPI untuk API yang baru di-onboarding. Anda dapat menjalankan pemeriksaan ini secara manual atau berintegrasi dengan alur CI/CD Anda untuk memastikan bahwa aplikasi Anda menggunakan API terdaftar sebelum merilisnya ke produksi.