Google Cloud PlatformGoogle Cloud Platform存储桶
Atlas Data FederationAtlasGCP Data Federation支持GCP存储桶作为联合数据库实例存储。您必须在联合数据库实例中定义到 Cloud Storage 存储桶的映射,才能运行数据查询。
注意
在此页面中,我们将对象称为文件,将分隔符分隔的前缀称为目录。 但是,这些对象存储服务实际上并不是文件系统,并且在所有情况下都不具有与硬盘驱动器上的文件相同的行为。
Google Cloud Platform存储桶的配置示例Google Cloud Platform
考虑一个包含从数据中心收集的数据的GoogleGoogle Cloud Platform Cloud Platform存储桶datacenter-alpha
:
|--metrics |--hardware
/metrics/hardware
路径存储 JSON 文件,其中包含源自数据中心硬件的指标,每个文件名是该文件所涵盖的 24 小时周期的 UNIX 时间戳(毫秒):
/hardware/1564671291998.json
配置如下:
datacenter-alpha
Google Cloud Platform在us-central1
Google Cloud Platform Google Cloud Platform地区中的 Google Cloud Platform存储桶上定义联合数据库实例存储。联合数据库实例存储被明确限制为仅包含metrics
目录路径中的数据文件。定义分隔符/
来模拟文件系统层次结构,以便于导航和检索。将
hardware
目录中的文件映射到 MongoDB 数据库datacenter-alpha-metrics
和集合hardware
。配置映射包括用于捕获文件名中隐含的时间戳的解析逻辑。
{ "stores" : [ { "name" : "datacenter-alpha", "provider" : "gcs", "region" : "us-central1", "bucket" : "datacenter-alpha", "prefix": "metrics", "delimiter": "/" } ], "databases" : [ { "name" : "datacenter-alpha-metrics", "collections" : [ { "name" : "hardware", "dataSources" : [ { "storeName" : "datacenter-alpha", "path" : "/hardware/{date date}" } ] } ] } ] }
Atlas Data FederationAtlasGoogle Cloud Platform Data Federation解析Google Cloud Platform存储桶datacenter-alpha
并处理/metrics/hardware/
下的所有文件。collections
对象使用 路径解析语法将文件名映射到每个文档中的 date
字段,即 ISO-8601 日期。如果文档中不存在匹配的 date
字段, Atlas Data Federation会添加该字段。
连接到联合数据库实例的用户可以使用MongoDB查询语言和支持的聚合,通过MongoDB GCPdatacenter-alpha-metrics.hardware
集合分析GCP存储桶中的数据。
配置格式
Atlas Data FederationGoogle Cloud Platform为了支持Google Cloud Platform上的Atlas Data Federation ,联合数据库实例配置具有以下原型形式:
1 { 2 "stores" : [ 3 { 4 "name" : "<string>", 5 "provider" : "<string>", 6 "region" : "<string>", 7 "bucket" : "<string>", 8 "prefix": "<string>", 9 "delimiter": "<string>" 10 } 11 ], 12 "databases" : [ 13 { 14 "name" : "<string>", 15 "collections" : [ 16 { 17 "name" : "<string>", 18 "dataSources" : [ 19 { 20 "storeName" : "<string>", 21 "path" : "<string>", 22 "defaultFormat" : "<string>", 23 "provenanceFieldName": "<string>", 24 "omitAttributes": <boolean> 25 } 26 ] 27 } 28 ], 29 "maxWildcardCollections" : <integer>, 30 "views" : [ 31 { 32 "name" : "<string>", 33 "source" : "<string>", 34 "pipeline" : "<string>" 35 } 36 ] 37 } 38 ] 39 } 40
字段 | 类型 | 必要性 | 说明 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 阵列 | 必需 | 对象数组,其中每个对象代表一个与联合数据库实例关联的数据存储。联合数据库实例存储捕获:
Atlas Data Federation 只能访问 | ||||||||||||
| 字符串 | 必需 | 联合数据库实例存储的名称。 | ||||||||||||
| 字符串 | 必需 | 存储数据的云提供商名称。 对于Google Cloud Platform存储桶,值必须为 | ||||||||||||
| 字符串 | 必需 | Google Cloud Platform托管GoogleGoogle Cloud Platform Cloud Platform存储桶的Google Cloud Platform地区的名称。有关有效地区名称的列表,请参阅Google Cloud Platform (GCP)。 | ||||||||||||
| 字符串 | 必需 | GoogleGoogle Cloud Platform Cloud Platform存储桶的名称。Google Cloud Platform必须与Atlas Data Federation必须访问权限的Google CloudAtlas Data Federation Platform存储桶的名称完全匹配。 | ||||||||||||
| 字符串 | Optional | Prefix AtlasAtlas Data Federation Data Federation在GoogleGoogle Cloud Platform Cloud Platform Storage 存储桶中搜索文件时适用。示例,考虑具有以下结构的GoogleGoogle Cloud Platform Cloud Platform Storage 存储桶
联合数据库实例存储将 默认为GoogleGoogle Cloud Platform Cloud Platform Storage 存储桶的根,检索所有文件。 | ||||||||||||
| 字符串 | Optional | 用于分隔联合数据库实例存储中的 | ||||||||||||
| 阵列 | 必需 | |||||||||||||
| 字符串 | 必需 | Atlas Data Federation 将数据存储中包含的数据映射到数据库的数据库名称。 | ||||||||||||
| 阵列 | 必需 | 对象数组,其中每个对象代表一个集合和映射到 | ||||||||||||
| 字符串 | 必需 | |||||||||||||
| 阵列 | 必需 | 对象数组,其中每个对象代表要与集合映射的 | ||||||||||||
| 字符串 | 必需 | 要映射到 | ||||||||||||
| 字符串 | 必需 | 控制Atlas Data Federation在将文件映射到 示例,假设有一个名为 的GoogleGoogle Cloud Platform Cloud Platform Storage
如果 将
请参阅为 S3 数据定义路径以了解更多信息。 指定
在指定相同类型的属性时,请执行以下任一操作:
| ||||||||||||
| 字符串 | Optional | Data Federation在搜索 以下值对
如果您的文件格式为 如果省略,Data Federation 将尝试处理文件的几个字节来检测文件类型。 另请参阅: 支持的数据格式 | ||||||||||||
| 字符串 | Optional | 包含结果中文档来源的字段的名称。如果在存储配置中指定了此设置,Atlas Data Federation 则会为结果中的每个文档返回以下字段:
您无法使用 Atlas 用户界面中的可视化编辑器来配置此设置。 | ||||||||||||
| 布尔 | Optional | 指定是否省略 Atlas Data Federation 添加到集合中的文档的属性(键和值对)的标志。您可以指定以下值之一:
如果省略,则默认为 示例,考虑一个名为 |