导出数据
本文介绍如何从 PlayFab 导出玩家和事件数据。导出玩家账户数据
当你发出导出玩家数据的请求时,请求会被发送到队列处理代理(类似于删除玩家)。 ExportMasterPlayerData API 导出与给定PlayFabId 关联的所有数据,包括跨你所有标题的数据,例如:
- 统计信息
- 自定义数据
- 库存
- 购买
- 玩家创建的物品/UGC
- 交易历史
- 虚拟货币余额
- 角色
- 组成员资格
- 发布者数据
- 凭据数据
- 账户关联
- 好友列表
- PlayStream 事件历史。
JobReceiptId,你应将其存储在记录中以供将来参考。导出可供下载可能需要一些时间。
导出完成后,会向为该标题配置的通知电子邮件地址发送包含导出下载链接的电子邮件。
任务的完成还会触发 player_data_exported PlayStream 事件。该事件将 JobReceiptId 作为属性,还包含 ExportDownloadUrl 属性,可用于访问导出的数据。使用带 Azure Functions 的自动化规则或 Webhook,你可以在你选择的端点上注册接收这些事件,并根据需要处理。
以下示例是如何在 C# SDK 中使用管理 API。如果你想使用不同的 SDK,请从 PlayFab SDK 列表中选择一个。
URL 在导出完成后最长可用 30 天。此时间之后,文件将被删除,你需要发起新的导出请求。
导出数据的格式
导出的数据被打包在一个 ZIP 归档中,其名称包含JobReceiptId 和导出的时间。归档包含组织成目录结构的多个文件。
导出事件数据
PlayFab 提供多种类型的事件数据——自定义数据、实体对象和实体文件。导出自定义数据
自定义数据指的是一大类允许你将任意数据与玩家关联的功能。PlayFab 提供从游戏逻辑与数据交互的方法,但除此之外不解释或理解这些数据。旧版玩家数据
在使用 ExportMasterPlayerData API(如”导出 PlayFab 数据”部分所引用)时,所有玩家数据属性都可以在 ZIP 归档根目录的 master_player_export.json 文件中找到:- “Publisher” 数据可以在 JSONPath 找到:$.PublisherData
- 每个标题的数据可以在 JSONPath 找到:$.Titles[*].CustomData
导出实体对象
使用 ExportMasterPlayerData API 时,所有实体对象都可以在 ZIP 归档根目录的 master_player_export.json 文件中找到: 对于 master_player_account 实体对象,位于 JSONPath:$.CustomObjects 对于 title_player_account 实体对象,位于 JSONPath:$.Titles[*].CustomObjects 对于角色实体对象,位于 JSONPath:$.Titles[].Characters[].CustomObjects 也可以通过 GetObjects API 检索实体对象。如果你已经知道要查找哪些实体的对象,使用专用 API 可能更容易,因为它会立即返回对象。但是,缺点是需要为玩家的 master_player_account 实体、每个 title_player_account 实体以及每个角色实体分别调用 API。导出实体文件
使用 ExportMasterPlayerData API 时,与玩家关联的所有实体文件都按原样添加到 ZIP 归档中的 /CustomFiles/ 目录,具体如下: 对于玩家的 master_player_account 实体,文件位于 /CustomFiles/MasterPlayerFiles/* 对于 title_player_account,文件位于 /CustomFiles/TitlePlayerFiles/<TitlePlayerAccountId>/*每个实体都有一个子目录,目录名为 title_player_account 实体 ID。
