Menu Docs
Página inicial do Docs
/
Atlas
/ /

HTTP URL

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.

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"
}
]
}
]
}
]
}

Dica

Consultando Dados em uma URL HTTP ou HTTPS

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 objeto stores .
databases
O objeto databases define o mapeamento entre cada instância do banco de dados federado definido em stores e nas collections MongoDB nos bancos de dados.
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
stores

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 stores.

stores.[n].name

string

necessário

Nome de armazenamento da instância do banco de dados federado . O campo databases.[n].collections.[n].dataSources.[n].storeName referencia este valor como parte da configuração de mapeamento.

stores.[n].provider

string

necessário

Define onde os dados são armazenados. O valor pode ser um dos seguintes:
  • s3 para um bucket Amazon Web Services S3 .

  • atlas para uma collection em um cluster do Atlas.

  • http para dados em arquivos hospedados em URL s acessíveis publicamente.

stores.[n].allowInsecure

booleano

necessário

Opcional. Valida o esquema na URLs especificada. O valor pode ser um dos seguintes:

  • true para permitir esquema HTTP inseguro

  • false para permitir apenas esquema HTTPS seguro (padrão)

Se verdadeiro, o Atlas Data Federation:

  • Não verifica a cadeia de certificado do servidor e o nome do host.

  • Aceita qualquer certificado com qualquer nome de host apresentado pelo servidor.

AVISO: se você definir isso como true, seus dados poderão ficar vulneráveis a um ataques do tipo man-in-the-middle, que pode comprometer a confidencialidade e a integridade dos seus dados. Defina isso como true apenas para testar e começar a usar o Atlas Data Federation.

Se omitido, o padrão é false. Se definido como false, o Data Federation retornará um erro semelhante ao seguinte se uma URL especificada contiver esquema HTTP inseguro:

The insecure HTTP scheme is not supported by default - please add a "allowInsecure: true" flag to query from such URLs.
stores.[n].urls

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.

stores.[n].defaultFormat

string

opcional

Formato padrão que o Data Federation assume se encontrar um arquivo sem extensão ao pesquisar o databases.[n].collections.[n].dataSources.[n].storeName.

Os seguintes valores são válidos para o campo defaultFormat:

.json, .json.gz, .bson, .bson.gz, .avro, .avro.gz, .orc, .tsv, .tsv.gz, .csv, .csv.gz, .parquet

IMPORTANTE: se o formato do arquivo for CSV ou TSV, você deverá incluir uma linha de cabeçalho nos dados. Consulte CSV e TSV para obter mais informações.

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 stores.

Dica

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
databases

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 collections e views.

databases.[n].name

string

necessário

Nome do banco de dados para o qual o Atlas Data Federation mapeia os dados contidos no armazém de dados.

databases.[n].collections

array

necessário

Array de objetos em que cada objeto representa uma coleção e fontes de dados que mapeiam para um stores armazenamento de instância do banco de dados federado. Para bancos de dados gerados dinamicamente, você pode definir somente um objeto de coleção curinga (*) na configuração de armazenamento.

databases.[n].collections.[n].name

string

necessário

Nome da collection para a qual a Atlas Data Federation mapeia os dados contidos em cada databases.[n].collections.[n].dataSources.[n].storeName. Cada objeto na array representa o mapeamento entre a collection e um objeto na matriz stores.

Importante

As coleções Curinga * não estão disponíveis para armazenamentos HTTP (HyperText Transport Protocol).

databases.[n].collections.[n].dataSources

array

string

Array de objetos em que cada objeto representa um stores instância do banco de dados federado para mapear com a collection.

databases.[n].collections.[n].dataSources.[n].storeName

string

necessário

Nome de um armazém de instância do banco de dados federado para mapear para o <collection>. Deve corresponder ao name de um objeto na array stores.

databases.[n].collections.[n].dataSources.[n].allowInsecure

booleano

necessário

Opcional. Valida o esquema na URLs especificada. O valor pode ser um dos seguintes:

  • true para permitir esquema HTTP inseguro

  • false para permitir apenas esquema HTTPS seguro (padrão)

Se verdadeiro, o Atlas Data Federation:

  • Não verifica a cadeia de certificado do servidor e o nome do host.

  • Aceita qualquer certificado com qualquer nome de host apresentado pelo servidor.

AVISO: se você definir isso como true, seus dados poderão ficar vulneráveis a um ataques do tipo man-in-the-middle, que pode comprometer a confidencialidade e a integridade dos seus dados. Defina isso como true apenas para testar e começar a usar o Atlas Data Federation.

Se omitido, o padrão é false. Se definido como false, o Data Federation retornará um erro semelhante ao seguinte se uma URL especificada contiver esquema HTTP inseguro:

The insecure HTTP scheme is not supported by default - please add a "allowInsecure: true" flag to query from such URLs.
databases.[n].collections.[n].dataSources.[n].urls

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 urls; no entanto, a coleção conterá uma união de dados de URLs em ambos os urls e urls.

Se omitido, o Data Federation usa o urls no storeNameespecificado.

databases.[n].collections.[n].dataSources.[n].defaultFormat

string

opcional

Formato padrão que o Data Federation assume se encontrar um arquivo sem extensão ao pesquisar o databases.[n].collections.[n].dataSources.[n].storeName.

Os seguintes valores são válidos para o campo defaultFormat:

.json, .json.gz, .bson, .bson.gz, .avro, .avro.gz, .orc, .tsv, .tsv.gz, .csv, .csv.gz, .parquet

IMPORTANTE: se o formato do arquivo for CSV ou TSV, você deverá incluir uma linha de cabeçalho nos dados. Consulte CSV e TSV para obter mais informações.

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 databases.[n].collections.[n].dataSources.

Dica

databases.[n].collections.[n].dataSources.[n].provenanceFieldName

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:

Nome do campo
Descrição

provider

Provedor (stores.[n].provider) na configuração de armazenamento da instância do banco de dados federado

uri

Você não pode definir esta configuração utilizando o Editor Visual na UI do Atlas.

databases.[n].views

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.

databases.[n].views.[n].name

string

necessário

Nome da visualização.

databases.[n].views.[n].source

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.

databases.[n].views.[n].pipeline

array

necessário

Estágio(s) de pipeline de agregação a serem aplicados à coleção source. Você também pode criar visualizações usando o estágio $sql.

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"
}
]
}
]
}
]
}

Voltar

Gerar collections

Nesta página