管理 Fluid 容器

容器是 Azure Fluid Relay 服务中的存储的原子单元,表示从 Fluid 会话(包括操作和快照)存储的数据。 当用户第一次加入或再次加入时,Fluid 运行时使用容器解除冻结 Fluid 会话的状态。

使用 Fluid Framework 生成应用程序时,需要考虑几个有关容器创建和管理的事项,如此图中所述。

Illustration of the architecture of a Fluid service and what parts are owned by developers vs Microsoft.

关键概念

容器权限

在大多数情况下,开发人员需要管理容器和容器权限的清单。 这包括有关有权访问容器的用户的信息以及元数据(例如容器的易记名称)。

访问容器

容器由容器 ID 引用。 用户在创建或打开容器之前,必须请求 Fluid 运行时在与 Azure Fluid Relay 服务通信时将使用的 JWT。 具有有效 JWT 的任何进程都可以访问容器。 开发人员负责为容器访问生成 JWT,使其能够控制业务逻辑,以根据自己的方案控制访问权限。 Azure Fluid Relay 服务不知道哪些用户应该有权访问容器。 有关此主题的详细信息,请参阅 Azure Fluid Relay 令牌协定

注意

JWT 字段 documentID 对应于 Fluid 容器 ID

容器命名

创建容器时,由 Azure Fluid Relay 服务为容器命名。 “创建”操作返回 GUID 形式的容器名,该名称必须在以后用于打开容器。 在大多数情况下,开发人员需要将此容器 ID GUID 和易记名称一起存储在自己的数据存储中,以促进容器发现流程。

容器发现

开发人员负责任何与现有容器的用户发现相关的体验和业务逻辑。 这可以采用基于用户参与 Fluid 会话的容器的可浏览列表形式,直接共享用户之间的容器,或以编程方式向现有的项目或进程分配容器。

容器创建流示例

A diagram describing the container creation process data flows

在此示例中,加载的应用/页面附带通用 JWT(未绑定到特定容器),客户端应用在创建新容器时将使用该 JWT。

客户端应用使用 Fluid Framework API 在 Azure Fluid Relay 服务中创建新容器,这将生成具有新分配的容器 ID 的容器对象。 与容器进一步交互需要一个包含容器 ID 的新 JWT。

客户端创建新容器后,它会将容器 ID 保存在映射容器和用户以管理权限的一些系统中。 无论开发人员想要为其用户创建哪种容器发现/浏览体验,该系统都可为其助力。

在与容器交互之前,客户端将请求容器特定的 JWT,它将用于从 Fluid Framework 运行时到 Azure Fluid Relay 服务的后续调用。

导出容器内容

如果应用程序存储的数据可能需要由最终用户导出,则应用程序开发人员应负责使用 Fluid 容器的当前状态(由容器中定义的分布式数据结构表示)将导出功能内置到其应用程序中。 要详细了解如何连接和打开 Fluid 容器,请参阅:容器 (fluidframework.com)。 有关使用控制平面 API 列出和删除容器的详细信息,请参阅:在 Azure Fluid Relay Server 中删除 Fluid 容器

另请参阅