为联合数据库实例定义数据存储
创建联合数据库实例从创建 JSON格式的存储配置开始。 存储配置定义您的数据存储并将这些数据存储映射到您可以查询的collection。
Atlas Data Federation支持将S 3存储桶、 Azure Blob Storage 容器、 Atlas集群、 Atlas 在线存档和可公开访问的URL作为数据存储。 您必须在联合数据库实例中定义到S3存储桶、 Atlas集群、 Atlas Online Archive和HTTP数据存储的映射,才能运行数据查询。
重要
存储配置中的信息在 MongoDB 内部可见,并存储为操作数据,以监控和提高 Atlas Data Federation 的性能。我们建议您不要在配置中使用 PII。
本页介绍了可用于设置、更新和检索联合数据库实例存储配置的管理命令。本节中的其他页面介绍了您可以在联合数据库实例存储配置中为各种数据存储定义的设置:
Data Federation 访问
创建联合数据库实例时,您可以授予Atlas 对 帐户中 S3 Amazon Web Services存储桶的只读或读写访问权限。要访问 Atlas 集群,Atlas 会使用现有的基于角色的访问控制。 您可以查看和编辑将数据从S 3存储桶和 Atlas 集群映射到联合数据库实例和虚拟集合的数据存储配置。
特权操作
特权操作定义了可以在联合数据库实例上执行的操作。您可以授予以下 Atlas Data Federation 特权:
sqlGetSchema
使用“使用视图模式查看”
mongosh
命令检索为集合或视图存储的模式。
sqlSetSchema
使用Edit Schema using
mongosh
命令设置或删除集合或视图的模式。
outToAzure
$out
使用 将数据从任何一个 受支持 的联合数据库实例存储或多个 受支持 的联合数据库实例存储写入 Azure Blob 存储容器。
storageGetConfig
使用 storageGetConfig 命令检索联合数据库实例的存储配置。
storageSetConfig
使用 storageSetConfig 命令设置或更新联合数据库实例存储配置。
设置或更新联合数据库实例配置
连接到联合数据库实例后,可以使用以下数据库命令来设置或更新联合数据库实例配置:
use admin db.runCommand( { "storageSetConfig" : <config> } )
将 <config>
替换为联合数据库实例的配置。在设置或更新联合数据库实例配置之前,可以通过运行 storageValidateConfig 命令来验证配置。
要通过 Atlas 用户界面设置或更新存储配置,请执行以下操作:
对联合数据库实例存储配置进行必要的更改。
要在存储配置中托管数据存储,请执行以下操作:
单击Add Data Store添加新的数据存储。 要添加:
S 3数据存储,完成部署联合数据库实例中的步骤5 。
Atlas 数据存储,请按照部署联合数据库实例中的步骤 5 至 7 进行操作。
HTTP数据存储,请按照部署联合数据库实例中的步骤5到7进行操作。
Atlas Online Archive,请按照从用户界面创建中的步骤5和6进行操作。
与
stores
JSON 配置设置对应。单击用于存储编辑数据存储名称。
与
stores.[n].name
JSON 配置设置对应。单击与数据存储关联以删除数据存储。
要在存储配置中托管数据库,请执行以下操作:
单击Create Database以添加数据库和collection。
与
databases
JSON 配置设置对应。单击用于编辑数据库名称的数据库。
与
databases.[n].name
JSON 配置设置对应。单击删除数据库。
要在存储配置中托管collection和视图,请执行以下操作:
单击对于:
集合,可编辑集合名称。
与
databases.[n].collections.[n].name
JSON 配置设置对应。视图,用于编辑视图名称和管道。
分别对应于
databases.[n].views.[n].name
和databases.[n].views.[n].pipeline
JSON配置设置。
单击关联于:
单击与collection或视图关联,以删除collection或视图。
编辑用户界面中显示的stores
和databases
的JSON配置设置。 要学习;了解有关配置设置的更多信息,请参阅为联合数据库实例定义数据存储。
您还可以使用“托管联合数据库实例”来托管和设置存储配置。
验证联合数据库实例配置
您可以运行以下命令来验证联合数据库实例配置。
use admin db.runCommand( { "storageValidateConfig" : <config> } )
将<config>
替换为联合数据库实例的配置。
如果联合数据库实例配置有效,该命令将返回以下信息:
{ "ok" : 1 }
如果您的联合数据库实例存储配置无效,该命令会在errs
字段中返回错误列表:
{ "ok" : 1, "errs" : [ "<error>", "<error>", ... ] }
检索联合数据库实例配置
连接到联合数据库实例后,可以使用以下数据库命令来检索联合数据库实例配置:
use admin db.runCommand( { "storageGetConfig" : 1 } )
该命令会返回当前联合数据库实例配置。
生成通配符集合
您可以动态生成映射到S3存储桶或 Atlas 集群中的数据的collection名称。要动态生成集合名称,请在联合数据库实例存储配置中指定通配符*
作为集合名称设置的值。 您无法在您的联合数据库实例存储配置中动态生成映射到HTTP或HTTPS数据存储中的数据的collection名称。
您可以使用 storageSetConfig 命令为生成通配符 (*
) 集合配置相应的设置。
要进一步了解生成通配符集合的配置设置,请参阅: