クイックスタート: Azure Functions を使用した PlayFab CloudScript の作成
このクイックスタートでは、Visual Studio Code、Azure Functions C#、Unity C# を使用して、Azure Functions を利用した CloudScript を作成します。このガイドを終える頃には、新しい CloudScript をルールやスケジュール タスクにリンクしたり、クライアント コードから呼び出したりできるようになります。前提条件
PlayFab の C# CloudScript を始めるには、いくつかの手順が必要です。- Visual Studio Code の クイックスタート: Visual Studio Code を使用して Azure Functions プロジェクトを作成する を参照し、セットアップが完了したらここに戻ってください。次の前提条件は、そのクイックスタート ガイドでカバーされています:
- Azure アカウント。Azure アカウントへのサインアップは無料です
- Azure サブスクリプション
- Azure Portal で構成された Functions アプリ リソース
- Azure Functions を利用した CloudScript のレイテンシを最小化するために、US-West、US-West 2、US-West 3 の Azure リージョンに配置してください。
- セキュリティに関する注意: セキュリティの観点から、特定の関数シークレットは PlayFab でのみ使用し、他のソースから同じ関数を呼び出すためには使用しないようにしてください。
- セキュリティに関する注意: キュー関数については、キュー トリガーで使用するキュー用に別のストレージ アカウントを設定してください。
- PlayFab アカウント。
PlayFab Azure Functions では、Azure Functions V2 ランタイム以上および .NET Core 2 以上を使用できます。最新バージョン (現在は Azure Functions V4 および .NET 6) の使用をお勧めします。
Azure Function の作成
- 基本的な「HelloWorld」サンプル関数を作成します。方法については、Visual Studio Code を使用して最初の関数を作成するガイド を参照してください。PlayFab 変数を使用するコード例については、PlayFab 関数のコンテキスト、変数、およびサーバー SDK の使用 セクションを参照してください。
「Visual Studio Code を使用して最初の関数を作成する」ガイドでは、Azure Function の認可レベルを
Anonymous に設定するよう指示されています。これはテストを簡略化するためです。本番環境ではほとんどの場合、匿名認可を使用すべきではありません。誰でも関数のエンドポイントを呼び出せるようになるためです。PlayFab 環境で関数を適切に保護するには、Function レベルの認可を使用することをお勧めします。-
関数を作成してデプロイしたら、Automation > Cloud Script に移動し、ページ右上隅にある Register Function ボタンを選択します。

-
Name には、関数の人にわかりやすい名前を入力します。Function URL には、関数の HTTP トリガー URL を入力します。URL は、クイックスタート: Visual Studio Code を使用して Azure で関数を作成する の「Run the function in Azure」セクションに示されているように、Azure Function リソースのコンテキスト メニューにあります。Azure Function が
Functionレベルの認可を使用している場合、URL には認可キーが含まれます。
PlayFab タイトルから Azure Functions を利用した CloudScript を使用および呼び出す
このガイドのサンプル コードは、Unity C# と Azure Function C# コードで記述されています。 関数が登録されたので、PlayFab API を使用してその関数を呼び出すことができます。Visual Studio Code からの HTTP リクエストによる関数の呼び出し
REST Client 拡張機能 を使用して、Visual Studio 内から関数を呼び出すことができます。Unity から関数を呼び出す
このコードを Unity で使用して、関数を呼び出せます。PlayFab CloudScript のコンテキスト、変数、およびサーバー SDK
Azure Functions を利用した CloudScript の利点の 1 つは、PlayStream イベントとプレイヤー プロファイルのコンテキストが自動的に Azure Function に渡されることです。CloudScript の呼び出し時に、関数の呼び出しシナリオに応じてコンテキストが渡されます。たとえば、PlayStream アクションによってトリガーされる場合と、クライアントから直接呼び出される場合とではコンテキストが異なります。これには、CloudScript が呼び出された対象のエンティティ プロファイルや、CloudScript の呼び出しに使用された可能性のある PlayStream イベントなどの情報が含まれます。- Package Manager を使用して PlayFab SDK をインストールする必要があります。これを行うには、Visual Studio Code でターミナルまたは CMD コンソールを開き、次のように入力します:
dotnet add package PlayFabAllSDK PlayFab.Samplesの実装を含む CS2AFHelperClasses.cs ファイルをインクルードする必要があります- スクリプトの実行はいくつかの方法 (API、スケジュール タスク、PlayStream イベント、セグメントへの入退場メソッド) で行われます。CloudScript を実装する際は、実行のコンテキストが重要です。スクリプトのコンテキストの使用方法については、CloudScript コンテキスト モデルの使用チュートリアル を参照してください。
Environment.GetEnvironmentVariable() メソッドを使用して取得できます。
CurrentPlayerId を利用できます。FunctionParameters フィールドで渡したパラメーターは args で利用可能です。ただし、Visual Studio Code を使用して最初の関数を作成するガイド の Hello World サンプルとは異なり、パラメーターはクエリ文字列ではなく POST ボディで渡されます。
PlayFab SDK から HelloWorld Azure Function を呼び出すには、ExecuteFunction を使用します。
自動化ルールでの Azure Functions
Azure Functions は、ルールおよびスケジュール タスクを作成して呼び出すこともできます。これは標準の CloudScript と同じように動作します。ルールまたはスケジュール タスクを作成するには、Automation > Rules または Automation > Scheduled Tasks に移動します。- New Rule を選択します
- ルールの名前を入力します
- このルールがトリガーとするイベントの種類を選択します
- アクションを追加します
- アクションのドロップダウンから Execute Azure Function を選択します

