数据存储的被遗忘权(RTBF)

*此内容使用人工智能(Beta)翻译,可能包含错误。若要查看英文页面,请点按 此处

被遗忘权(RTBF) 使您可以声明哪些键和数据存储包含用户的数据。当 Roblox 处理您游戏的 RTBF 请求时,系统会使用这些模板自动删除匹配的数据。您可以通过 数据存储管理器 在创作者中心以可视化方式配置模板,或者通过开放云 配置 API 以编程方式配置。

自动化 RTBF

要使用自动化 RTBF 处理,您必须定义删除模板。这些模板告诉 Roblox 哪些数据存储或键属于特定用户。您最多可以有 100 个模板来识别您的用户数据。

删除模板

自动化 RTBF 通过匹配模式工作。您使用 {UserId} 令牌为您的用户数据定义一个模板。当 Roblox 收到被遗忘权请求时,系统将该令牌替换为请求者的实际 ID,并扫描您的数据存储以查找要删除的匹配项。

合格要求

要使某项条目符合自动删除的资格,它必须满足以下标准:

  • 存储类型 — 用户数据应存储在标准数据存储或有序数据存储中。仅支持标准数据存储的整个数据存储的删除。
  • 标识符 — 用户 ID 必须是数据存储或键的 NameScope 的一部分。
  • 格式 — ID 必须能够通过静态字符串模式识别(例如,User_{UserId})。

通过数据存储管理器配置自动化 RTBF

创作者中心提供了一个可视化界面来管理您的 RTBF 模板,而无需使用命令行。

  1. 导航到 创作者中心

  2. 选择您想要配置的游戏。

  3. 在左侧导航菜单中,转到 配置数据存储管理器

  4. 选择 RTBF 删除 标签。

  5. 点击 创建模板

  6. 选择 类型标准数据存储标准键有序键)。

  7. 使用 {UserId} 令牌输入相应字段(例如,PlayerInventory_{UserId})。此令牌区分大小写。

  8. 仔细检查示例输出并点击 创建

    创建模板对话框,包含类型、数据存储、键模式和作用域字段,以及结果数据存储路径的预览。

通过配置 API 配置自动化 RTBF

您还可以使用开放云配置 API 以编程方式管理 RTBF 模板。这对于自动化或大规模管理模板非常有用。

  1. 在创作者仪表板中,创建或编辑 API 密钥,为您希望自动化 RTBF 删除的每个宇宙包含 universe:readuniverse:write 权限。有关更多详细信息,请参阅 管理 API 密钥

  2. 模板作为名为 user_data_templates 的 JSON 配置存储。主要有两种类型:

    • 键模板 — 标识特定键。需要 data_store_typeSTANDARDORDERED)、data_store_namekey_patternscope_pattern 是可选的,但推荐使用。
    • 数据存储模板 — 标识整个数据存储。需要 data_store_type(当前仅支持 STANDARD)和 data_store_pattern

    对于这两种模板类型,处理 RTBF 请求时,{UserId} 令牌会被用户的 ID 替换。

    示例配置

    {
    "user_data_templates": [
    {
    "key_template": {
    "data_store_type": "STANDARD",
    "data_store_name": "PlayerInventory",
    "key_pattern": "User_{UserId}",
    "scope_pattern": "Scope_{UserId}"
    }
    },
    {
    "key_template": {
    "data_store_type": "ORDERED",
    "data_store_name": "PlayerLeaderboard",
    "key_pattern": "User_{UserId}",
    "scope_pattern": "global"
    }
    },
    {
    "data_store_template": {
    "data_store_type": "STANDARD",
    "data_store_pattern": "Player_{UserId}_Save"
    }
    }
    ]
    }
  3. 接下来,通过开放云 配置 API 提交。在以下示例中,请在每个请求中替换 <API_KEY><UNIVERSE_ID>,并将所有请求发送到 DataStoresConfig 存储库。

    1. 通过 PUT 请求创建一个草稿,定义您的配置。如果草稿已经存在,则将此请求覆盖它。


      curl --location --request PUT 'https://apis.roblox.com/creator-configs-public-api/v1/configs/universes/<UNIVERSE_ID>/repositories/DataStoresConfig/draft:overwrite' \
      --header 'x-api-key: <API_KEY>' \
      --header 'Content-Type: application/json' \
      --data-raw '{
      "entries": {
      "user_data_templates": [
      {
      "key_template": {
      "data_store_type": "STANDARD",
      "data_store_name": "PlayerInventory",
      "key_pattern": "User_{UserId}",
      "scope_pattern": "Scope_{UserId}"
      }
      },
      {
      "key_template": {
      "data_store_type": "ORDERED",
      "data_store_name": "PlayerLeaderboard",
      "key_pattern": "User_{UserId}",
      "scope_pattern": "global"
      }
      },
      {
      "data_store_template": {
      "data_store_type": "STANDARD",
      "data_store_pattern": "Player_{UserId}_Save"
      }
      }
      ]
      }
      }'
    2. 通过 GET 请求验证您的草稿,以在它上线之前检索和查看草稿。


      curl --location --request GET 'https://apis.roblox.com/creator-configs-public-api/v1/configs/universes/<UNIVERSE_ID>/repositories/DataStoresConfig/draft' \
      --header 'x-api-key: <API_KEY>'
    3. 在验证之后,发送此 POST 请求以发布。撤销此操作的唯一方法是恢复先前的版本。此操作还要求与 API 密钥关联的帐户是 有资格发布游戏


      curl --location --request POST 'https://apis.roblox.com/creator-configs-public-api/v1/configs/universes/<UNIVERSE_ID>/repositories/DataStoresConfig/publish' \
      --header 'x-api-key: <API_KEY>' \
      --header 'Content-Type: application/json' \
      --data-raw '{
      "deploymentStrategy": "Immediate"
      }'
    4. 发布后,使用此 GET 请求确认配置是实时的。


      curl --location --request GET 'https://apis.roblox.com/creator-configs-public-api/v1/configs/universes/<UNIVERSE_ID>/repositories/DataStoresConfig/full' \
      --header 'x-api-key: <API_KEY>'

最佳实践

  • 区分大小写 — 在您的模式中使用确切的 {UserId} 令牌。{userId} 等变体不被接受。
  • 手动验证 — 在发布配置之前,使用 数据存储管理器 比较您的模式与您实时的 Luau 使用情况。
  • 默认作用域 — 如果数据存储使用默认作用域,请在键模板中将 scope_pattern 设置为 "global"
  • 在测试游戏上测试端到端流程 — 为了完全验证您的模板,考虑创建一个测试游戏和虚拟帐户,使用虚拟数据填充该帐户的用户 ID,请求该虚拟帐户的 RTBF,并确保在处理该帐户后数据被删除。
  • 确认删除 — 在您的实时游戏上进行入驻后,当 RTBF 请求出现在您的 Roblox 消息中时,请确认相应的数据在 30 天内被删除。
©2026 Roblox Corporation、Roblox、Roblox 标志及 Powering Imagination 是我们在美国及其他国家或地区的注册与未注册商标。