Docs 菜单
Docs 主页
/
MongoDB Atlas
/

为联合数据库实例定义数据存储

在此页面上

  • Data Federation 访问
  • 特权操作
  • 设置或更新联合数据库实例配置
  • 验证联合数据库实例配置
  • 检索联合数据库实例配置
  • 生成通配符集合

创建联合数据库实例从创建 JSON格式的存储配置开始。 存储配置定义您的数据存储并将这些数据存储映射到您可以查询的collection。

Atlas Data Federation 支持将 S3 存储桶、Azure Blob Storage 容器、Atlas 集群、Atlas 在线存档和可公开访问的 URL 作为数据存储。您必须在联合数据库实例中定义到 S3 存储桶、Atlas 集群、Atlas 在线存档和 HTTP 数据存储的映射,才能运行数据查询。

重要

存储配置中的信息在 MongoDB 内部可见,并存储为操作数据,以监控和提高 Atlas Data Federation 的性能。我们建议您不要在配置中使用 PII

本页介绍了可用于设置、更新和检索联合数据库实例存储配置的管理命令。本节中的其他页面介绍了您可以在联合数据库实例存储配置中为各种数据存储定义的设置:

创建联合数据库实例时,您可以授予 Atlas 对您的 AWS 账户中的 S 存储桶的只读或读写访问权限。要访问 Atlas 集群,Atlas 会使用现有的3 基于角色的访问控制 。您可以查看和编辑将数据从 S3 存储桶和 Atlas 集群映射到联合数据库实例和虚拟集合的数据存储配置。

特权操作定义了可以在联合数据库实例上执行的操作。您可以授予以下 Atlas Data Federation 特权:

  • 当您从 Atlas 用户界面创建或修改自定义角色时

  • actions.action 请求正文参数中,当您从 Atlas API 创建 更新 自定义角色时

sqlGetSchema

使用“使用 Atlas CLI 查看模式”命令检索为集合或视图存储的模式。

sqlSetSchema

使用“使用 Atlas CLI 编辑模式”命令设置或删除集合或视图的模式。

viewAllHistory

使用$queryHistory 检索过去运行的查询的详细信息。

outToAzure

$out使用 将数据从任何一个 受支持 的联合数据库实例存储或多个 受支持 的联合数据库实例存储写入 Azure Blob 存储容器。

outToS3

使用 $out 将数据从任何一个支持的联合数据库实例存储或多个支持的联合数据库实例存储写入S 3存储桶

storageGetConfig

使用 storageGetConfig 命令检索联合数据库实例 存储配置

storageSetConfig

使用 storageSetConfig 命令设置或更新联合数据库实例 存储配置

连接到联合数据库实例后,可以使用以下数据库命令来设置或更新联合数据库实例配置:

use admin
db.runCommand( { "storageSetConfig" : <config> } )

<config>替换为联合数据库实例的配置。在设置或更新联合数据库实例配置之前,可以通过运行storageValidateConfig命令来验证配置。

要通过 Atlas 用户界面设置或更新存储配置,请执行以下操作:

1
2
3
  • 要获得引导式体验,请单击Visual Editor

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

4
5

您还可以使用“托管联合数据库实例”来托管和设置存储配置。

您可以运行以下命令来验证联合数据库实例配置。

use admin
db.runCommand( { "storageValidateConfig" : <config> } )

<config>替换为联合数据库实例的配置。

如果联合数据库实例配置有效,该命令将返回以下信息:

{ "ok" : 1 }

如果您的联合数据库实例存储配置无效,该命令会在errs字段中返回错误列表:

{
"ok" : 1,
"errs" : [
"<error>",
"<error>",
...
]
}

连接到联合数据库实例后,可以使用以下数据库命令来检索联合数据库实例配置:

use admin
db.runCommand( { "storageGetConfig" : 1 } )

该命令会返回当前联合数据库实例配置。

您可以动态生成映射到S3存储桶或 Atlas 集群中的数据的collection名称。要动态生成集合名称,请在联合数据库实例存储配置中指定通配符*作为集合名称设置的值。 您无法在您的联合数据库实例存储配置中动态生成映射到HTTPHTTPS数据存储中的数据的collection名称。

您可以使用storageSetConfig命令配置用于生成通配符 ( * ) 集合的设置。

要进一步了解生成通配符集合的配置设置,请参阅:

← 对联合数据库实例运行查询