O Atlas Data Federation permiteURLs acessíveis publicamente como instância do banco de dados federado armazenamentos. Você deve definir mapeamentos em sua instância do banco de dados federado para seus armazenamentos de dados HTTP para executar query em seus dados.
Importante
As informações na sua configuração de armazenamento são visíveis internamente no MongoDB e armazenadas como dados operacionais para monitorar e melhorar o desempenho do Atlas Data Federation. Portanto, recomendamos que você não use PII em suas configurações.
Exemplo de Configuração para Armazenamento de Dados HTTP
Considere URL s https://www.datacenter-hardware.com/data.json
, https://www.datacenter-software.com/data.json
e https://www.datacenter-metrics.com/data.json
contendo dados coletados de um centro de dados. A configuração a seguir:
Especifica as URL acessíveis publicamente que contêm dados em arquivos como um armazenamento de instância do banco de dados federado.
Cria uma partição para cada URL.
{ "stores" : [ { "name" : "httpStore", "provider" : "http", "allowInsecure" : false, "urls" : [ "https://www.datacenter-hardware.com/data.json", "https://www.datacenter-software.com/data.json" ], "defaultFormat" : ".json" } ], "databases" : [ { "name" : "dataCenter", "collections" : [ { "name" : "inventory", "dataSources" : [ { "storeName" : "httpStore", "allowInsecure" : false, "urls" : [ "https://www.datacenter-metrics.com/data" ], "defaultFormat" : ".json" } ] } ] } ] }
Formato de configuração
A configuração da instância do banco de dados federado tem o seguinte formato:
1 { 2 "stores" : [ 3 { 4 "name" : "<string>", 5 "provider": "<string>", 6 "defaultFormat" : "<string>", 7 "allowInsecure": <boolean>, 8 "urls": ["<string>"] 9 } 10 ], 11 "databases" : [ 12 { 13 "name" : "<string>", 14 "collections" : [ 15 { 16 "name" : "<string>", 17 "dataSources" : [ 18 { 19 "storeName" : "<string>", 20 "allowInsecure" : <boolean>, 21 "urls" : ["<string>"], 22 "defaultFormat" : "<string>", 23 "provenanceFieldName": "<string>" 24 } 25 ] 26 } 27 ], 28 "views" : [ 29 { 30 "name" : "<string>", 31 "source" : "<string>", 32 "pipeline" : "<string>" 33 } 34 ] 35 } 36 ] 37 }
stores
- O objeto
stores
define cada armazenamento de dados associado à instância do banco de dados federado. O armazenamento da instância do banco de dados federado captura arquivos armazenados em URLacessíveis publicamente. O Data Federation só pode acessar armazenamentos de dados definidos no objetostores
. databases
- O objeto
databases
define o mapeamento entre cada instância do banco de dados federado definido emstores
e nas collections MongoDB nos bancos de dados.
stores
1 "stores" : [ 2 { 3 "name" : "<string>", 4 "provider" : "<string>", 5 "allowInsecure": <boolean>, 6 "urls" : ["<string>"], 7 "defaultFormat" : "<string>" 8 } 9 ]
Campo | Tipo | necessidade | Descrição | |
---|---|---|---|---|
array | necessário | Array de objetos em que cada objeto representa um armazenamento de dados a ser associado à instância do banco de dados federado. O armazenamento de instância do banco de dados federado captura arquivos armazenados em URLs acessíveis publicamente. O Atlas Data Federation só pode acessar armazenamentos de dados definidos no objeto | ||
string | necessário | Nome de armazenamento da instância do banco de dados federado . O campo | ||
string | necessário |
| ||
booleano | necessário | Opcional. Valida o esquema na URLs especificada. O valor pode ser um dos seguintes:
Se verdadeiro, o Atlas Data Federation:
AVISO: se você definir isso como Se omitido, o padrão é
| ||
array | opcional | Lista separada por vírgulas de HTTP URLacessíveis publicamente onde os dados são armazenados. Não é possível especificar URLs que exijam autenticação. | ||
string | opcional | Formato padrão que o Data Federation assume se encontrar um arquivo sem extensão ao pesquisar o Os seguintes valores são válidos para o campo
IMPORTANTE: se o formato do arquivo for Se omitido, o Data Federation processa alguns bytes do arquivo para tentar detectar o tipo. O formato especificado só se aplica aos URLs especificados no objeto Dica |
databases
1 "databases" : [ 2 { 3 "name" : "<string>", 4 "collections" : [ 5 { 6 "name" : "<string>", 7 "dataSources" : [ 8 { 9 "storeName" : "<string>", 10 "allowInsecure" : <boolean>, 11 "urls" : ["<string>"], 12 "defaultFormat" : "<string>", 13 "provenanceFieldName": "<string>" 14 } 15 ] 16 } 17 ] 18 } 19 ]
Campo | Tipo | necessidade | Descrição | ||||||
---|---|---|---|---|---|---|---|---|---|
array | necessário | Array de objetos em que cada objeto representa um banco de dados de dados , suas coleções e, opcionalmente, quaisquer visualizações nas coleções. Cada banco de dados de dados pode ter vários objetos | |||||||
string | necessário | Nome do banco de dados para o qual o Atlas Data Federation mapeia os dados contidos no armazém de dados. | |||||||
array | necessário | Array de objetos em que cada objeto representa uma coleção e fontes de dados que mapeiam para um | |||||||
string | necessário | Nome da collection para a qual a Atlas Data Federation mapeia os dados contidos em cada ImportanteAs coleções Curinga * não estão disponíveis para armazenamentos HTTP (HyperText Transport Protocol). | |||||||
array | string | Array de objetos em que cada objeto representa um | |||||||
string | necessário | ||||||||
booleano | necessário | Opcional. Valida o esquema na URLs especificada. O valor pode ser um dos seguintes:
Se verdadeiro, o Atlas Data Federation:
AVISO: se você definir isso como Se omitido, o padrão é
| |||||||
array | opcional | Lista separada por vírgulas de URLs acessíveis publicamente, onde os dados são armazenados. A Instância do Banco de Dados Federado cria uma partição para cada URL. Você pode especificar URLs que não estão no Se omitido, o Data Federation usa o | |||||||
string | opcional | Formato padrão que o Data Federation assume se encontrar um arquivo sem extensão ao pesquisar o Os seguintes valores são válidos para o campo
IMPORTANTE: se o formato do arquivo for Se omitido, o Data Federation processa alguns bytes do arquivo para tentar detectar o tipo. O formato especificado só se aplica aos URLs especificados no objeto Dica | |||||||
string | necessário | Nome do campo que inclui a procedência dos documentos nos resultados. Se você especificar esta configuração na configuração de armazenamento, o Atlas Data Federation retornará os seguintes campos para cada documento no resultado:
Você não pode definir esta configuração utilizando o Editor Visual na UI do Atlas. | |||||||
array | necessário | Array de objetos onde cada objeto representa um pipeline de agregação em uma coleção. Para saber mais sobre visualizações, consulte Visualizações. | |||||||
string | necessário | Nome da visualização. | |||||||
string | necessário | Nome da coleção de origem da visualização. Se você deseja criar uma visualização com um estágio $sql, você deve omitir este campo, pois a instrução SQL especificará a collection de origem. | |||||||
array | necessário | Estágio(s) de pipeline de agregação a serem aplicados à coleção |
Exemplo de Configuração para Armazenamento de Dados HTTP
Considere as URLs https://www.datacenter-hardware.com/data.json
, https://www.datacenter-software.com/data.json
e https://www.datacenter-metrics.com/data.json
contendo dados coletados de um centro de dados. A configuração a seguir:
Especifica as URL acessíveis publicamente que contêm dados em arquivos como um armazenamento de instância do banco de dados federado.
Cria uma partição para cada URL.
{ "stores" : [ { "name" : "httpStore", "provider" : "http", "allowInsecure" : false, "urls" : [ "https://www.datacenter-hardware.com/data.json", "https://www.datacenter-software.com/data.json" ], "defaultFormat" : ".json" } ], "databases" : [ { "name" : "dataCenter", "collections" : [ { "name" : "inventory", "dataSources" : [ { "storeName" : "httpStore", "allowInsecure" : false, "urls" : [ "https://www.datacenter-metrics.com/data" ], "defaultFormat" : ".json" } ] } ] } ] }