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

URL HTTP

Nesta página

  • Exemplo de Configuração para Armazenamento de Dados HTTP
  • Formato de configuração
  • stores
  • databases

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.

Observação

VISUALIZAR

O suporte para armazenamentos de dados HTTP está disponível como um recurso de visualização. O recurso e a documentação correspondente podem mudar a qualquer momento durante a fase de Pré-visualização.

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

Veja também:

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

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âncias de banco de dados federado captura arquivos em um bucket S3, documentos no Atlas cluster ou arquivos armazenados em URLs acessíveis publicamente. O Atlas Data Federation só pode acessar armazenamentos de dados definidos no objeto stores.

stores.[n].name

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

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

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

Opcional. Lista separada por vírgulas de URL HTTP acessíveis publicamente ondeos dados são armazenados. Não é possível especificar URLs que exigem autenticação.

stores.[n].defaultFormat

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

Observação

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 à URLs especificada no objeto stores .

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]
databases

Array de objetos onde cada objeto representa um banco de dados, suas coleções e, opcionalmente, quaisquer visualizações nas coleções. Cada banco de dados pode ter vários objetos collections e views.

databases.[n].name

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 de objetos em que cada objeto representa uma coleção e fontes de dados que mapeiam para um armazenamento de instância de banco de dados federado stores . Para bancos de dados gerados dinamicamente, você pode definir apenas um objeto de coleção curinga (*) na configuração de armazenamento.

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

Nome da coleção para a qual o 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 coleção e um objeto na array stores.

Observação

Não é possível gerar coleções de curingas * .

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

Array de objetos em que cada objeto representa um armazenamento de instância do banco de dados federado stores para mapear com a coleção.

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

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

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

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 urls e urls. Se omitido, o Data Federation usa o urls no storeName especificado.

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

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

Observação

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 à URLs especificada no objeto databases.[n].collections.[n].dataSources .

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

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 de objetos em que cada objeto representa um aggregation pipeline em uma coleção. Para saber mais sobre visualizações, consulte Visualizações.

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

Nome da visualização.

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

Nome da coleção de origem da visualização. Se quiser criar uma visualização com um estágio $sql , você deverá omitir este campo, pois a instrução SQL especificará a collection de origem.

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

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 .

Voltar

Gerar collections