> ## 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 コードをローカルでテストおよびデバッグできるようになりました。このチュートリアルを完了した後、ローカル Azure Functions アプリをデバッガーの下で (VS Code や Visual Studio などで) 実行し、ブレークポイントを設定してゲーム クライアントを実行できます。

このチュートリアルでは、以下の方法を学びます:

<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 | タイトルのシークレット キー。シークレット キーは、タイトル名の右の歯車アイコンをクリックし、**Title Settings** > **Secret Keys** に移動することで、Game Manager で見つけられます。 |

例:

```JSON theme={null}
{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "...",
    "FUNCTIONS_WORKER_RUNTIME": "dotnet",
    "PLAYFAB_TITLE_ID": "B55D",
    "PLAYFAB_DEV_SECRET_KEY": "AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHHIIIIJJJJKKKKLLLLMM"
  }
}
```

## ローカル ExecuteFunction 実装を呼び出すように PlayFab SDK を構成する

ExecuteFunction API 呼び出しをローカル実装にリダイレクトするように PlayFab SDK に指示するには、`playfab.local.settings.json` というファイルを次の 2 つの場所のいずれかに追加します:

* コンピューターの一時ディレクトリ
  * 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 のクイックスタート ガイド](/ja-jp/services/playfab/live-service-management/service-gateway/automation/cloudscript-af/quickstart.md)
- [Visual Studio Code での Azure Functions を使用した CloudScript のデバッグ](/ja-jp/services/playfab/live-service-management/service-gateway/automation/cloudscript-af/debugging-with-CloudScript-AF-VSCode.md)
- [Azure ポータルでの CloudScript Azure Functions のデバッグ](/ja-jp/services/playfab/live-service-management/service-gateway/automation/cloudscript-af/debugging-with-CloudScript-AF-Azure.md)
- [Visual Studio での CloudScript Azure Functions のデバッグ](/ja-jp/services/playfab/live-service-management/service-gateway/automation/cloudscript-af/debugging-with-CloudScript-AF-VS.md)
- [Azure Functions を使用した PlayFab CloudScript](/ja-jp/services/playfab/live-service-management/service-gateway/automation/cloudscript-af/index.md)
