azd
사용한 자동 배포Azure API 센터는 조직 API의 구조화된 인벤토리를 개발하고 유지 관리하는 데 도움이 되는 서비스입니다. API 센터를 사용하면 유형, 수명 주기 단계 또는 배포 위치에 관계없이 중앙 위치에서 모든 API를 추적할 수 있습니다. API 센터는 API 검색, 재사용 및 거버넌스를 지원하여 API 플랫폼 팀을 지원합니다.
API 센터 포털 은 개발자와 이해관계자가 API를 원활하게 검색하고 활용할 수 있도록 지원하는 웹사이트입니다. API 센터 포털의 참조 구현을 통해 API 플랫폼 팀은 API 소비자에게 웹 기반 API 검색 및 사용 경험을 제공할 수 있습니다.
API 센터 포털 참조 구현은 다음을 제공합니다.
무료 SKU API 센터 인스턴스의 경우 API 센터에 있는 API 수에 관계없이 API 센터 포털에 최대 5개의 API가 표시됩니다.
표준 SKU의 경우 제한이 없으며 모든 API가 표시됩니다.
시작하기 전에 다음 요구 사항을 충족하는지 확인하세요.
이 자체 호스팅 API 센터 포털을 배포하는 데는 두 가지 옵션이 있습니다.
azd
)를 사용합니다. 이 옵션은 효율적인 배포 프로세스를 위해 권장됩니다.azd
사용한 자동 배포참고 : 이 옵션에 대한 추가 전제 조건이 필요합니다.
- ✅ Azure 개발자 CLI(
azd
)- ✅ 애저 CLI
- ✅ GitHub CLI
이 저장소를 GitHub 계정으로 포크하고 복제하세요.
git clone https://github.com/ < YOUR_GITHUB_ALIAS > /APICenter-Portal-Starter.git
다음 명령으로 로그인하십시오. 그런 다음 azd
cli를 사용하여 애플리케이션을 신속하게 프로비저닝하고 배포할 수 있습니다.
# Authenticate with Azure Developer CLI
azd auth login
# Authenticate with Azure CLI
az login
azd up
실행하여 모든 리소스를 Azure에 프로비저닝하고 해당 리소스에 코드를 배포합니다.
azd up
환경 이름을 입력하고 원하는 subscription
및 location
선택합니다. 그런 다음 몇 가지 값을 더 입력하라는 메시지가 표시됩니다.
apiCenterExisted
).apiCenterName
, apiCenterRegion
및 apiCenterResourceGroupName
의 값을 전달합니다( apiCenterExisted
값을 true
로 설정).apiCenterExisted
값을 false
로 설정).staticAppLocation
값을 전달합니다. 리소스 배포가 완료될 때까지 잠시 기다립니다.두 가지 시나리오가 있습니다.
- 새 API 센터가 있는 포털 –
apiCenterExisted
에False
제공하고apiCenterName
,apiCenterRegion
및apiCenterResourceGroupName
비워 두어야 합니다.- 기존 API 센터가 있는 포털 –
apiCenterExisted
에True
제공하고apiCenterName
,apiCenterRegion
및apiCenterResourceGroupName
에 값을 전달해야 합니다.
CI/CD 파이프라인을 GitHub Actions와 통합하려는 경우 다음 명령을 사용하여 GitHub 저장소를 생성하고 코드를 저장소에 푸시할 수 있습니다. 우선 GitHub에 로그인하세요.
# Authenticate with GitHub CLI
gh auth login
다음 명령을 실행하여 GitHub 리포지토리 변수를 업데이트하세요.
참고 : 다음 명령을 실행하기 전에 이 리포지토리를 GitHub 계정으로 포크했는지 확인하세요.
# Bash
AZURE_CLIENT_ID= $( ./infra/scripts/get-azdvariable.sh --key AZURE_CLIENT_ID )
azd pipeline config --principal-id $AZURE_CLIENT_ID
# PowerShell
$AZURE_CLIENT_ID = $( ./infra/scripts/Get-AzdVariable.ps1 -Key AZURE_CLIENT_ID )
azd pipeline config --principal-id $AZURE_CLIENT_ID
이제 가셔도 됩니다! 코드를 GitHub 리포지토리에 푸시하거나 GitHub Actions 워크플로를 수동으로 실행하여 포털을 배포하세요.
기본적으로 포털에는 API 센터 인스턴스의 모든 API가 표시됩니다. OData 쿼리 구문을 사용하여 public/config.example
파일에서 scopingFilter
속성을 설정하여 특정 API를 필터링하도록 포털 인스턴스를 구성할 수 있습니다. 예를 들어:
{
"dataApiHostName": ".data..azure-apicenter.ms/workspaces/default",
"title": "API portal",
"authentication": {
"clientId": "",
"tenantId": "",
"scopes": ["https://azure-apicenter.net/user_impersonation"],
"authority": "https://login.microsoftonline.com/"
},
"scopingFilter": "customProperties/compliant eq true"
}
필터링 가능한 속성의 전체 목록은 데이터플레인 API 리소스 모델을 참조하세요.
참고 : 이 옵션에 대한 추가 전제 조건이 필요합니다.
- ✅ 올바른 API 권한 범위와 리디렉션 URI를 사용하여 Microsoft Entra ID 테넌트에 앱 등록을 구성했습니다.
- ✅ 올바른 역할 할당으로 포털 로그인 활성화
개발 환경을 설정하려면 다음 단계를 따르세요.
저장소 복제
git clone https://github.com/Azure/APICenter-Portal-Starter.git
메인 브랜치로 전환:
git checkout main
public/config.example
파일을 public/config.json
으로 복사하거나 이름을 바꾸세요.
Azure API 센터 서비스를 가리키도록 public/config.json
파일을 구성합니다. 구성 예시는 다음과 같습니다.
{ "dataApiHostName" : ".data. , "title" : " API portal " , "authentication" : { "clientId" : ".azure-apicenter.ms/workspaces/default " " , "tenantId" : "" , "scopes" : [ " https://azure-apicenter.net/user_impersonation " ], "authority" : " https://login.microsoftonline.com/ " } }
필수 패키지를 설치합니다.
npm install
개발 서버 시작 - 이 명령은 로컬로 실행되는 개발 모드에서 포털을 시작합니다.
npm start
Azure Static Web Apps는 코드 리포지토리에서 전체 스택 웹앱을 자동으로 빌드하고 Azure에 배포하는 서비스입니다. 이 자습서에서는 GitHub Actions를 사용하여 Azure Static Web Apps에 배포합니다.
Static Web Apps에서 실행 중인 API 센터 포털을 보려면 Azure Portal에서 만든 Static Web App 리소스의 개요 탭에서 브라우저에서 앱 보기를 클릭합니다.
템플릿을 개선하는 방법에 대한 아이디어와 지침은 기여 지침을 참조하세요. 감사합니다!
☀️ 우리는 당신의 의견을 듣고 싶습니다! ☀️
귀하의 피드백은 우리에게 매우 귀중한 것이므로 저장소의 문제 섹션에서 귀하의 생각과 제안을 공유하시기 바랍니다. 또한 버그를 보고하거나 기능 요청을 제출할 수도 있습니다. 안심하십시오. 우리는 지속적으로 개선하기 위해 귀하의 의견을 면밀히 관찰할 것입니다. 우리는 이러한 문제를 모니터링하기 위해 최선을 다하고 있지만 이 채널은 Microsoft Azure 서비스 지원의 일부가 아닙니다.
Microsoft Azure 지원 지원은 Linting 엔진을 실행하는 Azure 함수 앱의 초기 설정으로 제한됩니다. 호스팅 플랫폼, 개발 환경, 네트워크 구성 등(이에 국한되지 않음) 환경 요인으로 인해 발생하는 문제에 대해 최선의 지원이 제공됩니다.
Linting 엔진을 확장하거나 기존 규칙을 개선하는 데 기술 지원이 필요한 경우 Stack Overflow와 같은 기존 기술 커뮤니티를 활용하세요. 우리는 GitHub 문제를 통해 지원을 제공하지 않습니다.
우리는 커뮤니티의 기여를 환영하고 감사드립니다.
이 프로젝트는 Microsoft 오픈 소스 행동 강령을 채택했습니다. 자세한 내용은 행동 강령 FAQ를 참조하거나 추가 질문이나 의견이 있는 경우 [email protected]으로 문의하세요.
상표 이 프로젝트에는 프로젝트, 제품 또는 서비스에 대한 상표나 로고가 포함될 수 있습니다. Microsoft 상표 또는 로고의 승인된 사용에는 Microsoft의 상표 및 브랜드 지침이 적용되며 이를 따라야 합니다. 이 프로젝트의 수정된 버전에 Microsoft 상표 또는 로고를 사용하더라도 혼동을 일으키거나 Microsoft 후원을 암시해서는 안 됩니다. 제3자 상표 또는 로고의 사용에는 해당 제3자의 정책이 적용됩니다.
데이터 수집. 소프트웨어는 귀하 및 귀하의 소프트웨어 사용에 대한 정보를 수집하여 Microsoft에 보낼 수 있습니다. Microsoft는 서비스를 제공하고 제품 및 서비스를 개선하기 위해 이 정보를 사용할 수 있습니다. 저장소에 설명된 대로 원격 측정을 끌 수 있습니다. 또한 소프트웨어에는 귀하와 Microsoft가 귀하의 응용 프로그램 사용자로부터 데이터를 수집할 수 있는 일부 기능이 있습니다. 이러한 기능을 사용하는 경우 Microsoft의 개인 정보 보호 정책 사본과 함께 응용 프로그램 사용자에게 적절한 통지를 제공하는 것을 포함하여 관련 법률을 준수해야 합니다. 당사의 개인 정보 보호 정책은 https://go.microsoft.com/fwlink/?LinkID=824704에 있습니다. 도움말 문서와 개인 정보 보호 정책에서 데이터 수집 및 사용에 대해 자세히 알아볼 수 있습니다. 귀하의 소프트웨어 사용은 이러한 관행에 대한 귀하의 동의로 간주됩니다.
MIT