Docs Menu
Docs Home
/ /
Archivos de configuración
/ / / /

Implementar una instancia de base de datos federada en Google Cloud

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.

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.

Antes de comenzar, necesitarás:

  • Crear una CuentaMongoDB Atlas, si aún no tiene una.

  • Instalar la CLI de gcloud.

  • 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.

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.

1
2
3
  1. Haga clic en el menú desplegable Create New Federated Database.

  2. Seleccione Manual Setup.

4

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.

5

El valor predeterminado es FederatedDatabaseInstance[n]. Una vez creada la instancia de base de datos federada, no se puede cambiar su nombre.

6
  • Para una experiencia guiada, haga clic en Visual Editor.

  • Para editar el JSON sin procesar, haga clic JSON Editor en.

7
  1. 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.

  2. 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].provider configuración JSON.

  3. 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.

    Tip

  4. En el modal Configure Google Cloud Storage, siga las instrucciones proporcionadas para configurar la CLI de Google Cloud y luego haga clic en Next.

  5. Configurar Google Cloud Storage.

    1. Ingrese el nombre de su depósito de Google Cloud Storage.

      Corresponds to the stores.[n].bucket JSON configuration setting.

    2. 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.

    3. Seleccione la región del depósito de Google Cloud Storage.

      Corresponds to the stores.[n].region JSON 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.

    4. Otorgar acceso a su proyecto de Google Cloud.

      1. 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.

      2. 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.

      3. 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 rol storage.editor.

    5. 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].prefix JSON configuration setting.

    6. Haga clic Validate and finish.

  6. 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].path JSON configuration setting.

  7. Cree bases de datos, colecciones y vistas virtuales y asigne las bases de datos, colecciones y vistas a su almacén de datos.

    1. (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].name configuració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].name configuració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 $out ni $merge. Si la definición de vista incluye etapas de canalización anidadas, como $lookup o $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.

    2. Seleccione Google Cloud Storage del menú desplegable en la sección Data Sources.

    3. Arrastre y suelte el almacén de datos para mapearlo con la colección.

      Corresponde a la databases.[n].collections.[n].dataSources configuració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.

  1. Define tu almacén de datos de AWS S3.

    Edit the JSON configuration settings shown in the UI for stores. Your stores configuration 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,stores consulte.

  2. 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. Your databases configuration 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,databases consulte.

8

Para agregar otros almacenes de datos para consultas federadas, consulte:

Nota

No se puede conectar un almacén de datos de Azure Blob Storage para ejecutar consultas federadas entre proveedores de nube.

9