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

Implementar una instancia de base de datos federada en Microsoft Azure

Esta página describe cómo implementar una instancia de base de datos federada para acceder a los datos en sus contenedores de Azure Blob Storage.

Antes de comenzar, completa los siguientes requisitos previos:

  • Crear una MongoDB Atlas account, if you don't have one already.

  • Install Azure PowerShell or Azure CLI. To learn more about these tools, see Choose the right Azure command-line tool.

  • Configura Azure PowerShell o Azure CLI.

  • Opcional. Configurar el acceso a la entidad de servicio de Azure.

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.

If you are configuring a federated database instance for data in an Azure Blob Storage container, you can't choose a cloud provider that is different from the cloud provider that is hosting your data. That is, you must choose Azure.

5

Defaults to FederatedDatabaseInstance[n]. Once your federated database instance is created, you can't change its name.

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 Azure para configurar una instancia de base de datos federada para los datos en contenedores de Azure Blob Storage.

    Corresponde a la stores.[n].provider configuración JSON.

  3. Select an Azure Service Principal for Atlas.

    You can select an existing Azure Service Principal that Atlas is authorized for from the Service Principal dropdown or choose Authorize an Azure Service Principal to authorize a new service principal.

    Si seleccionó una entidad de servicio existente para la cual Atlas está autorizado, continúe con el siguiente paso.

    Si está autorizando Atlas para una entidad de servicio existente o está creando una nueva entidad de servicio, complete los siguientes pasos antes de continuar con el siguiente paso:

    1. Seleccione Authorize an Azure Service Principal para autorizar un principal de servicio nuevo o existente y haga clic en Continue.

      Use the Azure Service Principal AppId in the Add Atlas to your Azure Service Principal section to grant Atlas access through an existing or new Azure Service Principal.

    2. Siga los pasos de la pestaña PowerShell o AzureCLI en la interfaz de usuario de Atlas para crear una nueva entidad principal de servicio o modificar una entidad principal de servicio existente.

    3. Ingrese el ID del inquilino y el ID del principal de servicio en los campos respectivos después de completar los pasos en la interfaz de usuario de Atlas.

    4. Haga clic en Validate and Finish para continuar al siguiente paso.

  4. Configure el acceso a su Azure Blob Storage.

    In the Configure Azure Blob Storage page, you must configure Azure Storage Account credential delegation and Storage Container access. To do these:

    1. Ingrese el ID de recurso de su cuenta de almacenamiento en el campo Storage Account Credential Delegation.

      Para obtener más información,consulte Obtener el ID de recurso para una cuenta de almacenamiento.

    2. Copy and run the command from the Storage Account Credential Delegation step in your Azure PowerShell to set up the credentials delegation.

    3. Especifica si el contenedor de almacenamiento permite operaciones Read only o Read and write.

      Atlas sólo puede query Read-only contenedores; si deseas query y guardar los resultados en tu contenedor de Azure Blob Storage, selecciona Read and write.

      Atlas Data Federation no admite escrituras en su contenedor de Azure Blob Storage mediante $out.

    4. Introduzca el nombre de su contenedor de almacenamiento.

    5. Copy and run the command shown from the Storage Container Access step in your Azure PowerShell to set up blob container access.

    6. Haga clic en Continue.

  5. Defina la estructura de ruta para sus archivos en el contenedor de Azure Blob Storage y haga clic en Next.

    1. Ingrese la ruta de almacenamiento a su contenedor de Azure Blob Storage.

      Por ejemplo:

      https://<storage-account>.blob.core.windows.net/<container>/<file-name>

      Para agregar rutas adicionales a los datos de su contenedor de Azure Blob Storage, haga clic Add Data Source en e introduzca la ruta. Para obtener más información sobre las rutas, consulte Definir la sintaxis del archivo de ruta.

      Corresponde a la databases.[n].collections.[n].dataSources.[n].path configuración JSON.

    2. Opcional. Especifique los campos de partición que la Federación de Datos debe usar al buscar archivos en el contenedor de Azure Blob Storage y el tipo de valor del campo.

      Si se omite, la Federación de Datos realiza una búsqueda recursiva de todos los archivos desde la raíz del contenedor de Azure Blob Storage. Si no selecciona un tipo de valor de campo específico, la Federación de Datos agrega cualquier valor de esa ruta en todas las consultas.

      Corresponds to stores.[n].prefix and databases.[n].collections.[n].dataSources.[n].path JSON configuration settings.

  6. 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 Azure Blob 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 Azure Blob Storage debería ser similar a la siguiente:

{
"stores" : [
{
"name" : "<string>",
"provider": "<string>",
"region" : "<string>",
"serviceURL" : "<string>",
"containerName" : "<string>",
"delimiter" : "<string>",
"prefix": "<string>",
"public": <boolean>
}
],
"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 Azure Blob Storage.

    Edite la configuración JSON que se muestra en la interfaz de usuario para.stores La stores configuración de debería ser similar a la siguiente:

    "stores" : [
    {
    "name" : "<string>",
    "provider" : "<string>",
    "region" : "<string>",
    "serviceURL" : "<string>",
    "containerName" : "<string>",
    "delimiter": "<string",
    "prefix" : "<string>",
    "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.

    Edite la configuración JSON que se muestra en la interfaz de usuario para.databases La databases configuración de debería ser similar a la siguiente:

    "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

You can't create an AWS data store for running federated queries across different cloud providers.

9