为联合数据库实例定义数据存储
创建联合数据库实例从创建 JSON格式的存储配置开始。 存储配置定义您的数据存储并将这些数据存储映射到您可以查询的collection。
Atlas Data Federation 支持将 S3 存储桶、Azure Blob Storage 容器、Atlas 集群、Atlas 在线存档和可公开访问的 URL 作为数据存储。您必须在联合数据库实例中定义到 S3 存储桶、Atlas 集群、Atlas 在线存档和 HTTP 数据存储的映射,才能运行数据查询。
重要
存储配置中的信息在 MongoDB 内部可见,并存储为操作数据,以监控和提高 Atlas Data Federation 的性能。我们建议您不要在配置中使用 PII。
本页介绍了可用于设置、更新和检索联合数据库实例存储配置的管理命令。本节中的其他页面介绍了您可以在联合数据库实例存储配置中为各种数据存储定义的设置:
Data Federation 访问
创建联合数据库实例时,您可以授予 Atlas 对您的 AWS 账户中的 S 存储桶的只读或读写访问权限。要访问 Atlas 集群,Atlas 会使用现有的3 基于角色的访问控制 。您可以查看和编辑将数据从 S3 存储桶和 Atlas 集群映射到联合数据库实例和虚拟集合的数据存储配置。
特权操作
特权操作定义了可以在联合数据库实例上执行的操作。您可以授予以下 Atlas Data Federation 特权:
sqlGetSchema
使用“使用 Atlas CLI 查看模式”命令检索为集合或视图存储的模式。
sqlSetSchema
使用“使用 Atlas CLI 编辑模式”命令设置或删除集合或视图的模式。
outToAzure
$out
使用 将数据从任何一个 受支持 的联合数据库实例存储或多个 受支持 的联合数据库实例存储写入 Azure Blob 存储容器。
storageGetConfig
使用 storageGetConfig 命令检索联合数据库实例 存储配置 。
storageSetConfig
使用 storageSetConfig 命令设置或更新联合数据库实例 存储配置 。
设置或更新联合数据库实例配置
连接到联合数据库实例后,可以使用以下数据库命令来设置或更新联合数据库实例配置:
use admin db.runCommand( { "storageSetConfig" : <config> } )
将<config>
替换为联合数据库实例的配置。在设置或更新联合数据库实例配置之前,可以通过运行storageValidateConfig命令来验证配置。
要通过 Atlas 用户界面设置或更新存储配置,请执行以下操作:
您还可以使用“托管联合数据库实例”来托管和设置存储配置。
验证联合数据库实例配置
您可以运行以下命令来验证联合数据库实例配置。
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命令配置用于生成通配符 ( *
) 集合的设置。
要进一步了解生成通配符集合的配置设置,请参阅: