Esta página describe cómo implementar una instancia de base de datos federada para acceder a los datos en sus depósitos de Google Cloud Storage.
Acceso requerido
Para implementar una instancia de base de datos federada, debe tener Project Owner acceso al proyecto.
Importante
Los usuarios con acceso deben agregarse Organization Owner como Project Owner al proyecto antes de implementar su instancia de base de datos federada.
Requisitos previos
Antes de comenzar, necesitarás:
Crear una CuentaMongoDB Atlas, si aún no tiene una.
Configura la CLI de gcloud para acceder a tu cuenta de Google Cloud. Como alternativa, debes tener acceso a la consola de Google Cloud con permiso para crear roles de IAM.
Opcional. Configurar el acceso a la cuenta de servicio de GCP.
Procedimiento
Para crear una nueva base de datos de Federación de datos mediante la CLI de Atlas, ejecute el siguiente comando:
atlas dataFederation create <name> [options]
Para obtener más información sobre la sintaxis y los parámetros del comando, consulte la documentación de la CLI de Atlas para atlas dataFederation create.
Seleccione el proveedor de la nube donde Atlas Data Federation procesará sus consultas contra su instancia de base de datos federada.
Puedes seleccionar AWS, Azure o Google Cloud. Una vez creada la instancia de base de datos federada, no podrá cambiar el proveedor de nube donde Atlas Data Federation procesa sus consultas.
Debe configurar su instancia de base de datos federada en el mismo proveedor de nube que los almacenes de datos a los que se asigna su instancia de base de datos federada.
Especifique su depósito de Google Cloud Storage y configure bases de datos federadas y colecciones virtuales que se asignen a su almacén de datos.
Seleccione el conjunto de datos para su instancia de base de datos federada en la sección Data Sources.
Haga clic en Add Data Sources para seleccionar su almacén de datos.
Especifique su almacén de datos.
Elija Google Cloud Storage para configurar una instancia de base de datos federada para los datos en los depósitos de Google Cloud Storage.
Corresponde a la
stores.[n].providerconfiguración JSON.Seleccione una cuenta de servicio Google Cloud para Atlas.
Puedes seleccionar una Cuenta de servicio de Google Cloud existente para la que Atlas esté autorizado desde la lista desplegable de selección de roles o elegir Create a Google Service Account.
Si seleccionó una cuenta existente para la cual Atlas está autorizado, haga clic en Next y continúe con el siguiente paso para enumerar sus depósitos de Google Cloud Storage.
Si está creando una nueva cuenta de servicio, seleccione Create a Google Service Account y haga clic en Next.
En el modal Configure Google Cloud Storage, siga las instrucciones proporcionadas para configurar la CLI de Google Cloud y luego haga clic en Next.
Configurar Google Cloud Storage.
Ingrese el nombre de su depósito de Google Cloud Storage.
Corresponds to the
stores.[n].bucketJSON configuration setting.Especifique si el depósito es Read-only o ambos Read and write.
Atlas solo puede consultar Read-only depósitos; si desea consultar y guardar los resultados de la consulta en su depósito de Google Cloud Storage, elija Read and write.
Seleccione la región del depósito de Google Cloud Storage.
Corresponds to the
stores.[n].regionJSON configuration setting.Nota
No puedes crear una instancia federada de base de datos si Atlas Data Federation no puede obtener la región del bucket de Google Cloud Storage especificado.
Otorgar acceso a su proyecto de Google Cloud.
En la consola de Google Cloud del proyecto que aloja su depósito de Google Cloud Storage, navegue hasta IAM and Admin y luego hasta IAM.
Haga clic en Grant Access. En el cuadro modal que aparece, en el campo New principals, introduzca la cuenta de Google Cloud Service asociada a su instancia de base de datos federada.
Para otorgar acceso de solo lectura al bucket, aplique el rol
storage.viewer. Para otorgar acceso de lectura y escritura al bucket, aplique además el rolstorage.editor.
Opcional. Especifique el prefijo que la Federación de Datos debe usar al buscar archivos en el bucket de Google Cloud Storage. Si se omite, la Federación de Datos realiza una búsqueda recursiva de todos los archivos desde la raíz del bucket de Google Cloud Storage.
Corresponds to the
stores.[n].prefixJSON configuration setting.Haga clic Validate and finish.
Defina la estructura de ruta para sus archivos en el bucket de Google Cloud almacenamiento y haga clic en Next.
Por ejemplo:
https://storage.googleapis.com/<path>/<to>/<files>/<filename>.<file-extension> Para añadir rutas adicionales a los datos de tu bucket de Google Cloud Storage, haz clic Add Data Source en e introduce la ruta. Para obtener más información sobre las rutas, consulta "Definir la sintaxis del archivo de ruta".
Corresponds to the
databases.[n].collections.[n].dataSources.[n].pathJSON configuration setting.Cree bases de datos, colecciones y vistas virtuales y asigne las bases de datos, colecciones y vistas a su almacén de datos.
(Opcional) Haga clic en el botón para:
Base de datos para editar el nombre de la base de datos. El valor predeterminado es
VirtualDatabase[n].Corresponde a la
databases.[n].nameconfiguración JSON.Colección para editar el nombre de la colección. El valor predeterminado es
VirtualCollection[n].Corresponde a la
databases.[n].collections.[n].nameconfiguración JSON.Ver para editar el nombre de la vista.
Puedes hacer clic:
Add Database para agregar bases de datos y colecciones.
asociado con la base de datos para agregar colecciones a la base de datos.
Asociado a la colección para agregar vistas a la misma. Para crear una vista, debe especificar:
El nombre de la vista.
La tubería que se aplicará a la vista.
La canalización de definición de vista no puede incluir las etapas
$outni$merge. Si la definición de vista incluye etapas de canalización anidadas, como$lookupo$facet, esta restricción también se aplica a dichas canalizaciones anidadas.
Para obtener más información sobre las vistas, consulte:
asociado con la base de datos, colección o vista para eliminarlo.
Seleccione Google Cloud Storage del menú desplegable en la sección Data Sources.
Arrastre y suelte el almacén de datos para mapearlo con la colección.
Corresponde a la
databases.[n].collections.[n].dataSourcesconfiguración JSON.
Su configuración para el almacén de datos de Google Cloud Storage debería verse similar a la siguiente:
{ "stores" : [ { "name" : "<string>", "provider" : "<string>", "region" : "<string>", "bucket" : "<string>", "prefix": "<string>", "delimiter": "<string>" } ], "databases" : [ { "name" : "<string>", "collections" : [ { "name" : "<string>", "dataSources" : [ { "storeName" : "<string>", "path" : "<string>", "defaultFormat" : "<string>", "provenanceFieldName": "<string>", "omitAttributes": <boolean> } ] } ], "maxWildcardCollections" : <integer>, "views" : [ { "name" : "<string>", "source" : "<string>", "pipeline" : "<string>" } ] } ] }
Para obtener más información sobre los ajustes de configuración, consulte Configurar almacenes de datos para una instancia de base de datos federada.
Define tu almacén de datos de AWS S3.
Edit the JSON configuration settings shown in the UI for
stores. Yourstoresconfiguration setting should resemble the following:"stores" : [ { "name" : "<string>", "provider" : "<string>", "region" : "<string>", "bucket" : "<string>", "additionalStorageClasses" : ["<string>"], "prefix" : "<string>", "delimiter" : "<string>", "includeTags": <boolean>, "public": <boolean> } ] Para obtener más información sobre estos ajustes de configuración,
storesconsulte.Defina las bases de datos virtuales, colecciones y vistas de su instancia de base de datos federada.
Edit the JSON configuration settings shown in the UI for
databases. Yourdatabasesconfiguration setting should resemble the following:"databases" : [ { "name" : "<string>", "collections" : [ { "name" : "<string>", "dataSources" : [ { "storeName" : "<string>", "defaultFormat" : "<string>", "path" : "<string>", "provenanceFieldName": "<string>", "omitAttributes": <boolean> } ] } ], "maxWildcardCollections" : <integer>, "views" : [ { "name" : "<string>", "source" : "<string>", "pipeline" : "<string>" } ] } ] Para obtener más información sobre estos ajustes de configuración,
databasesconsulte.
Optional: Repeat steps in the Visual Editor or JSON Editor tab above to define additional Azure Azure Blob Storage data stores.
Para agregar otros almacenes de datos para consultas federadas, consulte:
Crear un almacén de datos HTTP o HTTPS desde la interfaz de usuario
Crear un almacén de datos del archivo Atlas Online desde la interfaz de usuario
Nota
No se puede conectar un almacén de datos de Azure Blob Storage para ejecutar consultas federadas entre proveedores de nube.