> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Azure Functions를 사용하는 CloudScript의 로컬 디버깅

> ExecuteFunction 구현을 추가하고 Unity, Unreal 또는 C#에서 SDK 호출을 라우팅하여 Azure Functions를 사용하는 PlayFab CloudScript를 로컬에서 실행하고 디버깅합니다.

# 자습서: Azure Functions를 사용하는 CloudScript의 로컬 디버깅

Azure Functions를 사용하면 이제 CloudScript 코드를 로컬에서 테스트하고 디버깅할 수 있습니다. 이 자습서를 완료한 후에는 디버거(예: VS Code 또는 Visual Studio)에서 로컬 Azure Functions 앱을 실행하고, 중단점을 설정한 후 게임 클라이언트를 실행할 수 있습니다.

이 자습서에서는 다음 방법을 배웁니다.

<Note>
  \[!div class="checklist"] \* 로컬 Azure Functions 앱에 ExecuteFunction 구현 추가 \* 게임에서 해당 로컬 구현을 호출하도록 PlayFab SDK에 지시하는 설정 파일 추가
</Note>

## 사전 요구 사항

* 현재 로컬 디버깅은 다음 SDK에서 지원됩니다.
  * [PlayFab C# SDK](https://github.com/PlayFab/CSharpSDK)
  * [PlayFab Unity SDK](https://github.com/PlayFab/UnitySDK)
  * [PlayFab용 Unreal 4 Marketplace 플러그인](https://github.com/PlayFab/UnrealMarketplacePlugin)

## ExecuteFunction 로컬 구현 추가

### C# Azure Functions 앱의 경우

C# Azure Functions 앱에서 ExecuteFunction의 로컬 구현을 설정하려면, [ExecuteFunction.cs](https://github.com/PlayFab/pf-af-devfuncs/blob/master/csharp/ExecuteFunction.cs) 파일을 로컬 Azure Functions 앱에 추가하세요.

### ExecuteFunction의 로컬 구현에 필요한 환경 변수

`local.settings.json` 파일에 다음 설정을 추가합니다.

| 이름                        | 값                                                                                                                   |
| ------------------------- | ------------------------------------------------------------------------------------------------------------------- |
| PLAYFAB\_TITLE\_ID        | 16진수 형식의 타이틀 ID                                                                                                     |
| PLAYFAB\_DEV\_SECRET\_KEY | 타이틀의 비밀 키입니다. 비밀 키는 Game Manager에서 타이틀 이름 오른쪽의 톱니바퀴 아이콘을 클릭하고 **Title Settings** > **Secret Keys**로 이동하여 찾을 수 있습니다. |

예를 들면 다음과 같습니다.

```JSON theme={null}
{
  "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** 환경 변수입니다.
* 게임 실행 파일의 디렉터리

파일 내용을 다음과 같이 설정합니다.

```JSON theme={null}
{ "LocalApiServer": "http://localhost:<portNumber>/api/<functionName>" }
```

로컬 리디렉션을 중지하고 ExecuteFunction이 PlayFab API 서버를 호출하도록 하려면, `playfab.local.settings.json` 파일을 삭제하세요.

## 추가 리소스

Azure Functions에는 [함수를 로컬에서 테스트하고 디버깅하는 방법](https://learn.microsoft.com/en-us/azure/azure-functions/functions-develop-local)에 대한 훌륭한 가이드가 있습니다.

위 문서의 하이라이트는 다음과 같습니다.

* Azure Functions Core Tools가 설치되어 있는지 확인하세요.
* 로컬 설정 파일을 구성하세요. 자세한 내용은 [Visual Studio Code를 사용하여 Azure Functions 개발](https://learn.microsoft.com/en-us/azure/azure-functions/functions-develop-vs-code?tabs=nodejs#local-settings-file)을 참조하세요.
* 코드에 중단점을 설정합니다.
* **F5**를 선택하여 디버깅을 시작합니다.


## Related topics

- [Azure Functions를 사용하는 PlayFab CloudScript 빠른 시작 가이드](/ko/services/playfab/live-service-management/service-gateway/automation/cloudscript-af/quickstart.md)
- [Visual Studio Code에서 Azure Functions로 CloudScript 디버깅](/ko/services/playfab/live-service-management/service-gateway/automation/cloudscript-af/debugging-with-CloudScript-AF-VSCode.md)
- [Visual Studio로 CloudScript Azure Functions 디버깅](/ko/services/playfab/live-service-management/service-gateway/automation/cloudscript-af/debugging-with-CloudScript-AF-VS.md)
- [Azure 포털에서 CloudScript Azure Functions 디버깅](/ko/services/playfab/live-service-management/service-gateway/automation/cloudscript-af/debugging-with-CloudScript-AF-Azure.md)
- [PlayFab CloudScript using Azure Functions](/ko/services/playfab/live-service-management/service-gateway/automation/cloudscript-af/index.md)
