자습서: Azure Functions를 사용하는 CloudScript의 로컬 디버깅
이제 Azure Functions 사용하여 CloudScript 코드를 로컬로 테스트하고 디버그할 수 있습니다. 이 자습서를 완료한 후 디버거에서 로컬 Azure Functions 앱을 실행하고(예: VS Code 또는 Visual Studio) 중단점을 설정하고 게임 클라이언트를 실행할 수 있습니다.
이 자습서에서는 다음을 하는 방법을 알아볼 수 있습니다.
- 로컬 Azure Functions 앱에 ExecuteFunction 구현 추가
- PlayFab SDK에 게임에서 해당 로컬 구현을 호출하도록 지시하는 설정 파일 추가
필수 구성 요소
- 현재 로컬 디버깅은 다음 SDK에서 지원됩니다.
ExecuteFunction의 로컬 구현 추가
C# Azure Functions 앱의 경우
C# Azure Functions 앱에서 ExecuteFunction의 로컬 구현을 설정하려면 C# ExecuteFunction.cs 파일을 로컬 Azure Functions 앱에 추가합니다.
ExecuteFunction의 로컬 구현에 필요한 환경 변수
local.settings.json
파일에 다음 설정을 추가합니다.
이름 | 값 |
---|---|
PLAYFAB_TITLE_ID | 16진수 형식의 타이틀 ID |
PLAYFAB_DEV_SECRET_KEY | 타이틀의 비밀 키입니다. 게임 관리자에서 타이틀 이름 오른쪽의 기어 아이콘을 클릭하고 타이틀 설정>비밀 키로 이동하면 비밀 키를 찾을 수 있습니다. |
예:
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "...",
"FUNCTIONS_WORKER_RUNTIME": "dotnet",
"PLAYFAB_TITLE_ID": "B55D",
"PLAYFAB_DEV_SECRET_KEY": "AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHHIIIIJJJJKKKKLLLLMM"
}
}
로컬 ExecuteFunction 구현을 호출하도록 PlayFab SDK 구성
PlayFab SDK에 ExecuteFunction API 호출을 로컬 구현으로 리디렉션하도록 지시하려면 playfab.local.settings.json
파일을 다음 두 위치 중 하나에 추가합니다.
- 컴퓨터의 임시 디렉터리
- Windows에서는 TEMP 환경 변수입니다.
- Linux/Mac에서는 TMPDIR 환경 변수입니다.
- 게임 실행 파일의 디렉터리
파일의 내용을 다음과 같이 설정합니다.
{ "LocalApiServer": "http://localhost:<portNumber>/api/<functionName>" }
로컬 리디렉션을 중지하고 ExecuteFunction이 PlayFab API 서버를 호출하도록 하려면 playfab.local.settings.json
파일을 삭제합니다.
추가 리소스
Azure Functions에는 함수를 로컬로 테스트 및 디버그하는 방법에 대한 훌륭한 가이드가 있습니다.
다음은 위 문서의 몇 가지 주요 내용입니다.
- Azure Functions Core Tools가 설치되어 있는지 확인
- 로컬 설정 파일을 구성합니다. 자세한 내용은 Visual Studio Code를 사용하여 Azure Functions 개발을 참조하세요.
- 코드에서 중단점 설정
- F5 키를 선택하여 디버깅 시작