你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
容器是 Azure Fluid Relay 服务中的原子存储单元,表示从 Fluid 会话中存储的数据,包括操作和快照。 当用户第一次加入或再次加入时,Fluid 运行时使用容器解除冻结 Fluid 会话的状态。
使用 Fluid Framework 生成应用程序时,需要考虑到有关容器创建和管理的一些事项,如下图所示。
Fluid服务的体系结构插图,哪些部件由开发人员拥有,哪些由Microsoft拥有。
重要概念
容器权限
在大多数情况下,开发人员需要管理容器和容器权限的清单。 这包括有关谁有权访问容器的信息,以及容器的友好名称等元数据。
访问容器
容器由容器 ID 引用。 在用户可以创建或打开容器之前,他们必须请求 Fluid Runtime 在与 Azure Fluid Relay 服务通信时将使用的 JWT。 具有有效 JWT 的任何进程都可以访问容器。 开发人员负责生成用于容器访问的 JWT,这使得它们能够控制业务逻辑,以便根据自己的方案控制访问权限。 Azure Fluid Relay 服务不知道哪些用户应该有权访问容器。 有关本主题的详细信息,请参阅 Azure Fluid Relay 令牌协定
注释
JWT 字段 documentID 对应于 Fluid 容器 ID。
容器命名
容器在创建容器时由 Azure Fluid Relay 服务命名。 创建操作以 GUID 的形式返回一个容器名称,该名称必须稍后用于打开容器。 在大多数情况下,开发人员希望在自己的数据存储中存储此容器 ID GUID 以及友好名称,以方便容器发现流。
容器发现
开发人员负责与现有容器的用户发现相关的任何体验和业务逻辑。 这可能采用可浏览的容器列表的形式,具体取决于用户参与 Fluid 会话、用户之间直接共享容器,或以编程方式将容器分配给现有项目或进程。
示例容器创建流
在此示例中,应用/页面加载了通用 JWT(未绑定到特定容器),客户端应用在创建新容器时将使用该容器。
客户端应用使用 Fluid Framework API 在 Azure Fluid Relay 服务中创建一个新容器,从而生成具有新分配的容器 ID 的容器对象。 与容器的进一步交互需要包含容器 ID 的新 JWT。
客户端创建新容器后,它将在映射容器和用户来管理权限的一些系统中保存容器 ID。 此系统将驱动开发人员希望为其用户创建的任何容器发现/浏览体验。
在与容器交互之前,客户端将请求特定于容器的 JWT,该 JWT 将用于从 Fluid Framework 运行时到 Azure Fluid Relay 服务的后续调用。
导出容器内容
如果应用程序存储最终用户可能需要导出的数据,则应用程序开发人员负责使用 Fluid 容器的当前状态(由容器中定义的分布式数据结构表示)将导出功能构建到其应用程序中。 有关连接到和打开 Fluid 容器的详细信息,请参阅:容器(fluidframework.com)。 有关使用控制平面 API 列出和删除容器的详细信息,请参阅: 在 Azure Fluid Relay Server Microsoft中删除 Fluid 容器。