Administración de contenedores de Fluid
Un contenedor es la unidad atómica de almacenamiento del servicio Azure Fluid Relay y representa los datos almacenados de una sesión de Fluid, incluidas las operaciones y las instantáneas. El entorno en tiempo de ejecución de Fluid usa el contenedor para rehidratar el estado de una sesión de Fluid cuando un usuario se une por primera vez o vuelve después de haber salido.
Al compilar una aplicación con Fluid Framework, hay varias cosas que debe tener en cuenta respecto a la creación y administración de contenedores, como se resume en este diagrama.
Conceptos clave
Permisos del contenedor
En la mayoría de los casos, los desarrolladores necesitarán administrar un inventario de contenedores y permisos de contenedor. Esto incluiría información sobre quién tiene acceso a los contenedores, así como metadatos como el nombre descriptivo del contenedor.
Acceso a contenedores
Se hace referencia a los contenedores por su identificador. Para que un usuario pueda crear o abrir un contenedor, debe solicitar un JWT que el entorno en tiempo de ejecución de Fluid usará al comunicarse con el servicio Azure Fluid Relay. Cualquier proceso con un JWT válido puede acceder a un contenedor. Es responsabilidad del desarrollador generar JWT para el acceso a contenedores, lo que les otorga el control de la lógica de negocios a la hora de gestionar el acceso según corresponda en su escenario. El servicio Azure Fluid Relay no tiene información sobre qué usuarios deben tener acceso a un contenedor. Para obtener más información sobre este tema, consulte el Contrato de token de Azure Fluid Relay.
Nota:
El campo documentID de JWT corresponde al identificador del contenedor de Fluid.
Nomenclatura de los contenedores
El servicio Azure Fluid Relay asigna un nombre a los contenedores en el momento de su creación. La acción Crear devuelve un nombre de contenedor en forma de GUID que se debe usar más tarde para abrir el contenedor. En la mayoría de los casos, es recomendable que los desarrolladores almacenen el GUID del identificador del contenedor, junto con un nombre descriptivo, en su propio almacén de datos para facilitar los flujos de detección de contenedores.
Detección de contenedores
Los desarrolladores son responsables de cualquier experiencia y lógica de negocios relacionada con la detección de contenedores existentes por parte de los usuarios. Esto podría tener la forma de una lista de contenedores que se puede explorar en función de la participación del usuario en la sesión de Fluid, el uso compartido y directo de contenedores entre usuarios o la asignación mediante programación de contenedores a artefactos o procesos existentes.
Ejemplo del flujo de creación de un contenedor
En este ejemplo, la aplicación o página se carga con un JWT genérico (no enlazado a un contenedor determinado) que la aplicación cliente usará cuando llegue el momento de crear un contenedor.
La aplicación del lado cliente usa Fluid Framework API para crear un contenedor en el servicio Azure Fluid Relay, lo que genera un objeto contenedor con un identificador de contenedor recién asignado. Otras interacciones con el contenedor requieren un JWT nuevo que contenga el identificador del contenedor.
Una vez que el cliente haya creado el contenedor nuevo, guardará el identificador del contenedor en algún sistema que asigna contenedores y usuarios para administrar permisos. Este sistema impulsará cualquier experiencia de detección o exploración de contenedores que el desarrollador quiera crear para sus usuarios.
Antes de interactuar con el contenedor, el cliente solicitará un JWT específico del contenedor que se usará para las llamadas subsiguientes desde el runtime de Fluid Framework al servicio Azure Fluid Relay.
Exportación del contenido de un contenedor
Si una aplicación almacena datos que es posible que los usuarios finales deban exportar, el desarrollador de la aplicación es responsable de compilar esa funcionalidad de exportación en su aplicación, utilizando el estado actual del contenedor de Fluid, representado por las estructuras de datos distribuidos definidas en el contenedor. Para más información sobre cómo conectarse a contenedores de Fluid y cómo abrirlos, consulte: Containers (fluidframework.com). Para más información sobre cómo enumerar y eliminar contenedores con la API del plano de control, consulte: Eliminación de contenedores de Fluid en el servidor de Microsoft Azure Fluid Relay.