내 앱이 프로덕션 수준 API를 사용하고 있는지 확인하는 방법
앱을 빌드할 때는 아직 미리 보기로 제공되는 API를 사용할 수 있습니다. 앱과 함께 빌드되는 새 기능과 통합할 때 미리 보기 API를 사용하는 경우가 많습니다. 프로덕션에 앱을 릴리스하기 전에 프로덕션 수준 API를 사용하고 있는지 확인해야 합니다. SLA(서비스 수준 계약)가 지원되고 적용되는 안정적인 API를 사용하는 경우 앱이 더 강력합니다.
앱이 프로덕션 수준 API를 사용하고 있는지 확인하려면 플러그 인을 ApiCenterProductionVersionPlugin
사용할 수 있습니다. 이 플러그 인은 앱의 API 요청에 대한 정보와 Azure API 센터의 정보 및 비프로덕션 API 요청에 대한 보고서를 비교합니다. 또한 사용 중인 API의 프로덕션 버전을 권장합니다.
시작하기 전에
비프로덕션 API 요청을 검색하려면 조직에서 사용하는 API에 대한 정보가 포함된 Azure API 센터 인스턴스가 있어야 합니다.
Azure API Center 인스턴스 만들기
시작하기 전에 Azure API 센터 인스턴스를 만들고 조직에서 사용하는 API를 등록합니다. 각 API에 대해 사용하는 버전을 정의하고 수명 주기 단계를 지정합니다.
이 ApiCenterProductionVersionPlugin
정보를 사용하여 앱이 사용 중인 API가 프로덕션 또는 비프로덕션 API에 속하는지 확인합니다.
API 센터 정보 복사
Azure API Center 인스턴스 개요 페이지에서 API 센터 인스턴스의 이름, 리소스 그룹의 이름 및 구독 ID를 복사합니다. Azure API Center 인스턴스에 ApiCenterProductionVersionPlugin
연결할 수 있도록 구성하려면 이 정보가 필요합니다.
개발 프록시 구성
앱이 프로덕션 수준 API를 사용하고 있는지 확인하려면 개발자 프록시 구성 파일에서 사용하도록 설정 ApiCenterProductionVersionPlugin
해야 합니다. 앱에서 사용하는 API 보고서를 만들려면 기자를 추가합니다.
다음을 사용하도록 설정합니다. ApiCenterProductionVersionPlugin
파일에서 devproxyrc.json
다음 구성을 추가합니다.
{
"$schema": "https://raw.githubusercontent.com/microsoft/dev-proxy/main/schemas/v0.19.0/rc.schema.json",
"plugins": [
{
"name": "ApiCenterProductionVersionPlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/dev-proxy-plugins.dll",
"configSection": "apiCenterProductionVersionPlugin"
}
],
"urlsToWatch": [
"https://jsonplaceholder.typicode.com/*"
],
"apiCenterProductionVersionPlugin": {
"subscriptionId": "00000000-0000-0000-0000-000000000000",
"resourceGroupName": "demo",
"serviceName": "contoso-api-center",
"workspaceName": "default"
}
}
subscriptionId
및 resourceGroupName
serviceName
속성에서 Azure API Center 인스턴스에 대한 정보를 제공합니다.
속성에서 urlsToWatch
앱에서 사용하는 URL을 지정합니다.
팁
개발자 프록시 도구 키트 Visual Studio Code 확장을 사용하여 개발자 프록시 구성을 쉽게 관리할 수 있습니다.
기자 추가
앱 ApiCenterProductionVersionPlugin
에서 사용 중인 API의 보고서를 생성합니다. 이 보고서를 보려면 개발자 프록시 구성 파일에 기자를 추가합니다. 개발자 프록시는 여러 기자를 제공합니다. 이 예제에서는 일반 텍스트 기자를 사용합니다.
일반 텍스트 기자에 대한 참조로 파일을 업데이트합니다 devproxyrc.json
.
{
"$schema": "https://raw.githubusercontent.com/microsoft/dev-proxy/main/schemas/v0.19.0/rc.schema.json",
"plugins": [
{
"name": "ApiCenterProductionVersionPlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/dev-proxy-plugins.dll",
"configSection": "apiCenterProductionVersionPlugin"
},
{
"name": "PlainTextReporter",
"enabled": true,
"pluginPath": "~appFolder/plugins/dev-proxy-plugins.dll"
}
],
"urlsToWatch": [
"https://jsonplaceholder.typicode.com/*"
],
"apiCenterProductionVersionPlugin": {
"subscriptionId": "00000000-0000-0000-0000-000000000000",
"resourceGroupName": "demo",
"serviceName": "contoso-api-center",
"workspaceName": "default"
}
}
앱이 프로덕션 수준 API를 사용하고 있는지 확인
앱이 프로덕션 수준 API를 사용하고 있는지 확인하려면 Azure 구독에 연결하고, 개발자 프록시를 실행하고, 앱에서 API 요청을 가로채도록 해야 합니다. 그런 다음 개발자 프록시는 API 요청에 대한 정보를 Azure API 센터의 정보와 비교하고 모든 비프로덕션 API에 대한 보고서를 보고합니다.
Azure 구독에 연결
개발자 프록시는 Azure API 센터의 정보를 사용하여 앱에서 사용하는 API가 프로덕션 수준인지 확인합니다. 이 정보를 얻으려면 Azure 구독에 연결해야 합니다. 여러 가지 방법으로 Azure 구독에 연결할 수 있습니다.
개발 프록시 실행
Azure 구독에 연결한 후 개발자 프록시를 시작합니다. 파일이 있는 devproxyrc.json
동일한 폴더에서 Dev Proxy를 시작하면 구성이 자동으로 로드됩니다. 그렇지 않은 경우 옵션을 사용하여 구성 파일의 경로를 지정합니다 --config-file
.
개발자 프록시가 시작되면 Azure 구독에 연결할 수 있는지 확인합니다. 연결에 성공하면 다음과 유사한 메시지가 표시됩니다.
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
r 키를 눌러 앱에서 API 요청 기록을 시작합니다.
앱 사용
평소처럼 앱을 사용합니다. 개발자 프록시는 API 요청을 가로채 메모리에 대한 정보를 저장합니다. 개발자 프록시가 실행되는 명령줄에는 앱이 만드는 API 요청에 대한 정보가 표시됩니다.
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
API 버전 확인
s 키를 눌러 녹음/녹화를 중지합니다. 개발자 프록시는 API 센터 인스턴스에 연결하고 요청에 대한 정보를 API 센터의 정보와 비교합니다.
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
개발자 프록시는 분석을 마치면 다음 내용이 포함된 파일에 ApiCenterProductionVersionPlugin_PlainTextReporter.txt
보고서를 만듭니다.
Non-production APIs:
GET https://jsonplaceholder.typicode.com/users?api-version=beta
Production APIs:
GET https://jsonplaceholder.typicode.com/posts?api-version=v1.0
요약
이 기능을 사용하여 앱이 ApiCenterProductionVersionPlugin
프로덕션 수준 API를 사용하고 있는지 확인할 수 있습니다. 플러그 인은 앱의 API 요청에 대한 정보와 Azure API 센터의 정보 및 비프로덕션 API 요청에 대한 보고서를 비교합니다. 또한 사용 중인 API의 프로덕션 버전을 권장합니다. 앱에서 사용하는 API를 확인하면 앱이 SLA에서 지원되고 적용되는 안정적인 API를 사용하여 앱을 더욱 강력하게 만드는 데 도움이 됩니다. 이 검사를 수동으로 실행하거나 CI/CD 파이프라인과 통합하여 앱이 프로덕션으로 릴리스하기 전에 프로덕션 수준 API를 사용하고 있는지 확인할 수 있습니다.
자세한 정보
Dev Proxy