Docs 菜单
Docs 主页
/
MongoDB Atlas
/ / /

部署一个联合数据库实例。

在此页面上

  • 先决条件
  • 步骤

本页介绍如何部署联合数据库实例来访问 Azure Blob 存储容器中的数据。

在开始之前,请完成以下步骤以满足先决条件:

  • 创建一个 MongoDB Atlas帐户(如果您还没有帐户)。

  • 安装Azure PowerShell Azure CLI 。若要学习;了解有关这些工具的更多信息,请参阅 选择正确的Azure命令行工具。

  • 配置 Azure PowerShell Azure CLI。

  • 可选。 设置Azure服务主体访问权限。

要使用 Atlas CLI 创建新的 Data Federation 数据库,请运行以下命令:

atlas dataFederation create <name> [options]

要学习;了解有关命令语法和参数的更多信息,请参阅Atlas CLI AtlasdataFederation create 的 文档。

提示

请参阅:相关链接

1
2
3
  1. 点击 Create New Federated Database(新建联合数据库)下拉列表。

  2. 选择 Manual Setup

4

您可以选择Amazon Web Services AzureGoogle Cloud PlatformAmazon Web Services 、 Azure或Google Cloud Platform 。创建联合数据库实例后,您无法更改Atlas Data Federation处理查询的云提供商。

如果要为 Azure Blob Storage container中的数据配置联合数据库实例,则不能选择与托管数据的云提供商不同的云提供商。也就是说,您必须选择Azure

5

默认为 FederatedDatabaseInstance[n] 。 联合数据库实例一旦创建,就无法更改其名称。

6
  • 要获得引导式体验,请单击 Visual Editor(可视化编辑器)。

  • 要编辑原始JSON ,请单击JSON Editor

7
  1. Data Sources部分选择联合数据库实例的数据集。

    单击Add Data Sources选择您的数据存储。

  2. 指定您的数据存储。

    选择Azure可为Azure Blob 存储容器中的数据配置联合数据库实例。

    stores.[n].provider JSON 配置设置对应。

  3. 为Atlas选择Azure服务主体。

    您可以从服务主体下拉列表中选择Atlas已获得授权的现有Azure服务主体,也可以选择Authorize an Azure Service Principal以授权新的服务主体。

    如果您选择了Atlas已获得授权的现有服务主体,请继续执行下一步。

    如果您为现有服务主体授权Atlas或创建新的服务主体,请先完成以下步骤,然后再继续下一步:

    1. 选择Authorize an Azure Service Principal以授权新的或现有的服务主体,然后单击Continue

      使用Add Atlas to your Azure Service Principal部分中的Azure服务主体AppId ,通过现有或新的Azure服务主体授予Atlas访问权限。

    2. 按照 Atlas UI 中PowerShellAzureCLI标签页中的步骤创建新的服务主体或修改现有服务主体。

    3. 完成 Atlas 用户界面中的步骤后,在相应字段中输入租户 ID 和服务主体 ID。

    4. 单击Validate and Finish继续下一步。

  4. 配置对Azure Blob 存储的访问权限。

    Configure Azure Blob Storage 页面中,必须配置 Azure 存储帐户凭证委派和存储容器访问权限。为此,请执行以下操作:

    1. Storage Account Credential Delegation字段中输入您的存储帐户资源ID 。

      若要学习;了解详情,请参阅 获取存储帐户的资源ID 。

    2. 复制并运行 Azure PowerShell 中 Storage Account Credential Delegation 步骤的命令,以设置凭证委派。

    3. 指定存储容器是否允许Read onlyRead and write操作。

      Atlas 只能查询Read-only容器;如果您希望查询并将查询结果保存到 Azure Blob 存储容器,请选择Read and write

      Atlas Data Federation不支持使用$out写入Azure Blob 存储容器。

    4. 输入您的存储容器名称。

    5. 复制并运行 Azure PowerShell 中 Storage Container Access 步骤显示的命令,以设置 blob 容器访问权限。

    6. 单击 Continue(连接)。

  5. 定义Azure Blob 存储容器中文件的路径结构,然后单击Next

    1. 输入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 配置设置对应。

    2. 可选。 指定Data Federation在Azure Blob 存储容器中搜索文件时应使用的分区字段以及字段值类型。

      如果省略,Data Federation将从Azure Blob 存储容器的根目录开始递归搜索所有文件。 如果您未选择特定字段值类型, Data Federation则会在所有查询中添加该路径中的任何值。

      stores.[n].prefixdatabases.[n].collections.[n].dataSources.[n].path JSON 配置设置对应。

  6. 创建虚拟数据库、集合和视图,并将数据库、集合和视图映射到数据存储。

    1. (可选)单击对于:

      • 数据库,用于编辑数据库名称。默认值为 VirtualDatabase[n]

        databases.[n].name JSON 配置设置对应。

      • 集合,可编辑集合名称。 默认值为 VirtualCollection[n]

        databases.[n].collections.[n].name JSON 配置设置对应。

      • 视图,用于编辑视图名称。

      您可以单击:

      • Add Database 添加数据库和集合。

      • 与数据库关联, 以便将集合添加到数据库中。

      • 与集合关联,以添加关于集合的视图。 要创建视图,必须指定:

        • 视图的名称。

        • 应用于视图的管道

          视图定义管道不能包含$out$merge阶段。 如果视图定义包含嵌套管道阶段,例如$lookup$facet ,则此限制也适用于这些嵌套管道。

        要学习;了解有关视图的更多信息,请参阅:

      • 与数据库、集合或视图关联, 以便予以删除。

    2. Data Sources部分的下拉列表中选择Azure Blob Storage

    3. 拖放数据存储以与集合映射。

      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>"
}
]
}
]
}

有关配置设置的更多信息,请参阅为联合数据库实例定义数据存储。

  1. 定义Azure Blob 存储数据存储。

    编辑stores用户界面中显示的JSON配置设置。 您的stores配置设置应如下所示:

    "stores" : [
    {
    "name" : "<string>",
    "provider" : "<string>",
    "region" : "<string>",
    "serviceURL" : "<string>",
    "containerName" : "<string>",
    "delimiter": "<string",
    "prefix" : "<string>",
    "public": <boolean>
    }
    ]

    要学习;了解有关这些配置设置的更多信息,请参阅stores

  2. 定义联合数据库实例虚拟数据库、集合和视图。

    编辑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

8

要为联合查询添加其他数据存储,请参阅:

注意

您无法创建Amazon Web Services数据存储来跨不同提供商运行联合查询

9

后退

Azure Blob 存储

在此页面上