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.
Requisitos previos
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.
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.
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.
Especifica tu almacén de datos de Azure Blob Storage y configura la instancia federada de base de datos y las colecciones virtuales que correspondan a tu almacén.
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 Azure para configurar una instancia de base de datos federada para los datos en contenedores de Azure Blob Storage.
Corresponde a la
stores.[n].providerconfiguración JSON.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:
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.
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.
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.
Haga clic en Validate and Finish para continuar al siguiente paso.
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:
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.
Copy and run the command from the Storage Account Credential Delegation step in your Azure PowerShell to set up the credentials delegation.
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.
Introduzca el nombre de su contenedor de almacenamiento.
Copy and run the command shown from the Storage Container Access step in your Azure PowerShell to set up blob container access.
Haga clic en Continue.
Defina la estructura de ruta para sus archivos en el contenedor de Azure Blob Storage y haga clic en Next.
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].pathconfiguración JSON.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].prefixanddatabases.[n].collections.[n].dataSources.[n].pathJSON configuration settings.
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 Azure Blob 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 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.
Define tu almacén de datos de Azure Blob Storage.
Edite la configuración JSON que se muestra en la interfaz de usuario para.
storesLastoresconfiguració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,
storesconsulte.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.
databasesLadatabasesconfiguració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,
databasesconsulte.
Optional: Repeat steps in the Visual Editor or JSON Editor tab above to define additional 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
You can't create an AWS data store for running federated queries across different cloud providers.