教程: 使用 Azure Functions 的 Cloudscript 本地调试

通过 Azure Functions,现在可以在本地测试和调试 CloudScript 代码。 完成本教程后,可以在调试器下运行本地 Azure Functions 应用 (例如在 VS Code 或 Visual Studio 中),设置断点并运行游戏客户端。

本教程介绍如何:

  • 在本地 Azure Functions 应用中添加 ExecuteFunction 的实现
  • 添加设置文件,告知 PlayFab SDK 从游戏中调用本地实现

先决条件

添加本地的 ExecuteFunction 实现

对于 C# Azure Functions 应用

若要在 C# Azure Functions 应用中设置 ExecuteFunction 的本地实现,请将 ExecuteFunction.cs 文件添加到本地 Azure Functions 应用中。

本地执行 ExecuteFunction 所需的环境变量

local.settings.json 文件中添加以下设置:

名称
PLAYFAB_TITLE_ID 游戏 ID,以十六进制为单位
PLAYFAB_DEV_SECRET_KEY 游戏的密钥。 可以在 Game Manager 中找到密钥,点击游戏名称右边的齿轮图标,进入 “游戏设置”>“密钥”

例如:

{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "...",
    "FUNCTIONS_WORKER_RUNTIME": "dotnet",
    "PLAYFAB_TITLE_ID": "B55D",
    "PLAYFAB_DEV_SECRET_KEY": "AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHHIIIIJJJJKKKKLLLLMM"
  }
}

配置 PlayFab SDK 以调用本地 ExecuteFunction 实现

若要告知 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 提供了有关如何在本地 测试和调试 Functions 的出色指南。

以下是上述文件的一些要点。