Containers 如何将两个或多个FluidDataObject添加到容器中,以及如何将FluidDataObject动态添加到现有容器中?

Containers 如何将两个或多个FluidDataObject添加到容器中,以及如何将FluidDataObject动态添加到现有容器中?,containers,fluid,fluid-framework,Containers,Fluid,Fluid Framework,我使用getInyliciousContainer获取容器,使用getDefaultObjectFromContainer获取defaultFluidDataObject,如何将两个或多个FluidDataObject添加到容器中,以及如何将FluidDataObject动态添加到现有容器中 const registryEntry: any = new Map([doFactory.registryEntry]); const factory = new ContainerRuntime

我使用
getInyliciousContainer
获取容器,使用
getDefaultObjectFromContainer
获取
default
FluidDataObject,如何将两个或多个FluidDataObject添加到容器中,以及如何将FluidDataObject动态添加到现有容器中

  const registryEntry: any = new Map([doFactory.registryEntry]);
  const factory = new ContainerRuntimeFactoryWithDefaultDataStore(doFactory, registryEntry);
  const container = await getTinyliciousContainer(src, factory);
  const database = await getDefaultObjectFromContainer<T>(container);
const registryEntry:any=新映射([doFactory.registryEntry]);
const factory=new ContainerRuntimeFactoryWithDefaultDataStore(doFactory,registryEntry);
const container=await getTinyliciousContainer(src,factory);
const database=await getDefaultObjectFromContainer(容器);

虽然我们确实使用getDefaultObjectFromContainer来获取容器,但这只是默认对象

您可以在容器上调用一些额外的方法和请求,这些方法和请求为容器提供了不同的访问模式

最简单的是,@fluidframework/aqueduct包包括
getObjectFromContainer
getObjectWithIdFromContainer
。如果扩展
ContainerRuntimeFactoryWithDefaultDataStore
,这些方法在容器上可用。第一个从容器中通过其从根对象的路径获取对象。第二个通过对象的UUID获取对象

然而,这些问题强调了流体系统中一个关键的、解释不足的概念数据对象如何(在何处以及为什么)存储在容器中?

最终,数据对象是流动的东西,可以将分布式数据结构捆绑在一起并对其进行操作。您还可以添加自己的业务逻辑,创建更复杂的数据模型,并处理数据对象生命周期方法

从容器的角度来看,这些对象可通过“请求”获得。†创建容器时,容器由一组请求处理程序构成,这些请求处理程序提供对数据对象的访问。上面列出的方法围绕默认请求处理程序展开,默认情况下,这些处理程序可用于使用渡槽创建的容器

运行时——确实希望根数据对象的某些概念能够执行垃圾收集和其他任务。许多开发人员在他们的容器中只使用一个数据对象,但是数据对象非常强大。每个数据对象可以有一个自定义数据模型,可以单独虚拟化,等等

‡这实际上是OSS项目中提供的默认运行时。Fluid的体系结构使您可以相当轻松地交换运行时

†这是基于容器应该是分布式web服务器的理念,提供对服务器内虚拟化对象的访问