각 앱마다 설정해야 하는 부분들을 배포 전에 매뉴얼하게 설정합니다.
랜덤으로 uuid string을 API key로 사용합니다. 이 key 값이 있어야 API를 호출할 수 있습니다.
# PowerShell
$api_key = $(New-Guid).Guid
# bash/zsh
api_key=$(uuidgen)
echo $api_key
echo로 출력한 api_key 값을 복사합니다.
- 환경 변수 설정
설정
>구성
>애플리케이션 설정
>고급 편집
에 아래의 환경 변수들을 추가합니다.
{ "name": "Auth__ApiKey", "value": "{{api_key값}}", "slotSetting": false }, { "name": "GitHub__Agent", "value": "GitHub Issues Bot", "slotSetting": false }, { "name": "OpenApi__IncludeOnDeployment", "value": "true", "slotSetting": false }, { "name": "OpenApi__Server", "value": "https://{{앱 이름}}.azurewebsites.net", "slotSetting": false }, { "name": "OpenApi__Title", "value": "GitHub Issues API", "slotSetting": false }, { "name": "OpenApi__Version", "value": "v1", "slotSetting": false }
Chat API는 OpenAI 사의 ChatGPT API를 사용합니다. API Key는 이곳에서 발급받을 수 있습니다.
- 환경 변수 설정
설정
>구성
>애플리케이션 설정
>고급 편집
에 아래의 환경 변수들을 추가합니다.
{ "name": "AOAI_API_DEPLOYMENT_ID", "value": "gpt-3.5-turbo", "slotSetting": false }, { "name": "AOAI_API_ENDPOINT", "value": "https://api.openai.com/v1/chat/completions", "slotSetting": false }, { "name": "AOAI_API_KEY", "value": "{{API_KEY 수동 입력}}", "slotSetting": false }, { "name": "AOAI_API_VERSION", "value": "to_be_replaced", "slotSetting": false }, { "name": "Auth__ApiKey", "value": "{{api_key값}}", "slotSetting": false }, { "name": "SCM_DO_BUILD_DURING_DEPLOYMENT", "value": "1", "slotSetting": false }
-
AzureSQL DB 연결 문자열 가져오기
SQL 데이터베이스
>연결 문자열
>ODBC
값 복사
-
연결 문자열 설정
설정
>구성
>애플리케이션 설정
>연결 문자열
새 연결 문자열
- 이름:
STORAGE
- 값:
AzureSQL DB 연결 문자열
붙여넣은 후에Pwd={your_password_here}
부분에 실제 DB 비밀번호 입력 - 형식:
SQLAzure
- 이름:
-
환경 변수 설정
설정
>구성
>애플리케이션 설정
>애플리케이션 설정
>고급 편집
에 아래의 환경 변수들을 추가합니다.
{ "name": "Auth__ApiKey", "value": "{{api_key값}}", "slotSetting": false }, { "name": "SCM_DO_BUILD_DURING_DEPLOYMENT", "value": "1", "slotSetting": false }
-
시작 명령 설정
설정
>구성
>일반 설정
>시작 명령
pip install -r requirements.txt && python -m uvicorn main:app --host 0.0.0.0
API Management는 API들이 배포된 후에 OpenAPI 문서를 이용해서 편리하게 API를 import 해 올 것입니다.
우선은 API를 가져오기 전에 전체 API들을 위한 Policy 설정을 합니다.
APIs
>API
>All APIs
- Inbound의
Add Policy
>cors
선택Basic
옵션 선택Allowed origins
:https://{{apim이름}}.azure-api.net
,https://{{정적웹앱 URL}}
- Inbound의
Add Policy
>set-header
선택- name:
x-webapi-key
- value:
{{api_key값}}
- action:
override
- name:
- Inbound의
Azure 포털에서 리소스 프로비저닝하기 👈 이전 | 다음 👉 VSCode에서 원클릭 배포하기