部署一个联合数据库实例。
本页介绍如何部署联合数据库实例来访问 Azure Blob 存储容器中的数据。
先决条件
在开始之前,请完成以下步骤以满足先决条件:
创建一个 MongoDB Atlas帐户(如果您还没有帐户)。
安装Azure PowerShell 或 Azure CLI 。若要学习;了解有关这些工具的更多信息,请参阅 选择正确的Azure命令行工具。
可选。 设置Azure服务主体访问权限。
步骤
要使用 Atlas CLI 创建新的 Data Federation 数据库,请运行以下命令:
atlas dataFederation create <name> [options]
要学习;了解有关命令语法和参数的更多信息,请参阅Atlas CLI AtlasdataFederation create 的 文档。
指定Azure Blob Storage 数据存储,并配置联合数据库实例和映射到数据存储的虚拟集合。
从Data Sources部分选择联合数据库实例的数据集。
单击Add Data Sources选择您的数据存储。
指定您的数据存储。
选择Azure可为Azure Blob 存储容器中的数据配置联合数据库实例。
与
stores.[n].provider
JSON 配置设置对应。为Atlas选择Azure服务主体。
您可以从服务主体下拉列表中选择Atlas已获得授权的现有Azure服务主体,也可以选择Authorize an Azure Service Principal以授权新的服务主体。
如果您选择了Atlas已获得授权的现有服务主体,请继续执行下一步。
如果您为现有服务主体授权Atlas或创建新的服务主体,请先完成以下步骤,然后再继续下一步:
选择Authorize an Azure Service Principal以授权新的或现有的服务主体,然后单击Continue 。
使用Add Atlas to your Azure Service Principal部分中的Azure服务主体AppId ,通过现有或新的Azure服务主体授予Atlas访问权限。
按照 Atlas UI 中PowerShell或AzureCLI标签页中的步骤创建新的服务主体或修改现有服务主体。
完成 Atlas 用户界面中的步骤后,在相应字段中输入租户 ID 和服务主体 ID。
单击Validate and Finish继续下一步。
配置对Azure Blob 存储的访问权限。
在 Configure Azure Blob Storage 页面中,必须配置 Azure 存储帐户凭证委派和存储容器访问权限。为此,请执行以下操作:
在Storage Account Credential Delegation字段中输入您的存储帐户资源ID 。
若要学习;了解详情,请参阅 获取存储帐户的资源ID 。
复制并运行 Azure PowerShell 中 Storage Account Credential Delegation 步骤的命令,以设置凭证委派。
指定存储容器是否允许Read only或Read and write操作。
Atlas 只能查询Read-only容器;如果您希望查询并将查询结果保存到 Azure Blob 存储容器,请选择Read and write 。
Atlas Data Federation不支持使用
$out
写入Azure Blob 存储容器。输入您的存储容器名称。
复制并运行 Azure PowerShell 中 Storage Container Access 步骤显示的命令,以设置 blob 容器访问权限。
单击 Continue(连接)。
定义Azure Blob 存储容器中文件的路径结构,然后单击Next 。
输入Azure Blob 存储容器的存储路径。
例如:
https://<storage-account>.blob.core.windows.net/<container>/<file-name> 要为Azure Blob 存储容器上的数据添加其他路径,请单击Add Data Source并输入路径。 要学习;了解有关路径的更多信息,请参阅为 S 3数据定义路径。
与
databases.[n].collections.[n].dataSources.[n].path
JSON 配置设置对应。可选。 指定Data Federation在Azure Blob 存储容器中搜索文件时应使用的分区字段以及字段值类型。
如果省略,Data Federation将从Azure Blob 存储容器的根目录开始递归搜索所有文件。 如果您未选择特定字段值类型, Data Federation则会在所有查询中添加该路径中的任何值。
与
stores.[n].prefix
和databases.[n].collections.[n].dataSources.[n].path
JSON 配置设置对应。
创建虚拟数据库、集合和视图,并将数据库、集合和视图映射到数据存储。
(可选)单击对于:
数据库,用于编辑数据库名称。默认值为
VirtualDatabase[n]
。与
databases.[n].name
JSON 配置设置对应。集合,可编辑集合名称。 默认值为
VirtualCollection[n]
。与
databases.[n].collections.[n].name
JSON 配置设置对应。视图,用于编辑视图名称。
您可以单击:
从Data Sources部分的下拉列表中选择Azure Blob Storage 。
拖放数据存储以与集合映射。
与
databases.[n].collections.[n].dataSources
JSON 配置设置对应。
Azure Blob 存储数据存储的配置应如下所示:
{ "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>" } ] } ] }
有关配置设置的更多信息,请参阅为联合数据库实例定义数据存储。
定义Azure Blob 存储数据存储。
编辑
stores
用户界面中显示的JSON配置设置。 您的stores
配置设置应如下所示:"stores" : [ { "name" : "<string>", "provider" : "<string>", "region" : "<string>", "serviceURL" : "<string>", "containerName" : "<string>", "delimiter": "<string", "prefix" : "<string>", "public": <boolean> } ] 要学习;了解有关这些配置设置的更多信息,请参阅
stores
。定义联合数据库实例虚拟数据库、集合和视图。
编辑
databases
用户界面中显示的JSON配置设置。 您的databases
配置设置应如下所示:"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>" } ] } ] 要学习;了解有关这些配置设置的更多信息,请参阅
databases
。
可选:重复上述“可视化编辑器”或“ JSON编辑器”标签页中的步骤,定义其他Azure Blob 存储数据存储。
要为联合查询添加其他数据存储,请参阅:
注意
您无法创建Amazon Web Services数据存储来跨不同提供商运行联合查询。