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

Google Cloud Platform Bucket de armazenamento do Google Cloud Platform

Nesta página

  • Exemplo de configuração para Google Cloud Platform o bucket de armazenamento do Google Cloud Platform
  • Formato de configuração

O Atlas Data Federation permite GCP buckets de armazenamento GCP como armazenamentos de instância do banco de dados federado . Você deve definir mapeamentos na instância do banco de dados federado para o bucket do Cloud Storage para executar queries nos seus dados.

Observação

Nos referimos a objetos como arquivos e prefixos separados por delimitadores como diretórios nesta página. No entanto, esses serviços de armazenamento de objeto não são, na verdade, sistemas de arquivos e não têm os mesmos comportamentos em todos os casos como arquivos em um disco rígido.

Considere um Google Cloud Platform bucket datacenter-alpha de armazenamento do Google Cloud Platform contendo dados coletados de um centro de dados:

|--metrics
|--hardware

O caminho /metrics/hardware armazena arquivos JSON com métricas derivadas do hardware do centro de dados, onde cada nome de arquivo é o carimbo de data/hora UNIX em milissegundos do período de 24 horas coberto por esse arquivo:

/hardware/1564671291998.json

A configuração a seguir:

  • Define um armazenamento de instância do banco de dados federado datacenter-alpha Google Cloud Platform no bucket de armazenamento do us-central1 Google Cloud Platform Google Cloud Platform do na região do Google Cloud Platform do. O armazenamento da instância do banco de dados federado store é especificamente restrito para incluir apenas arquivos de dados no caminho do diretório metrics. Um delimitador de / é definido para simular uma hierarquia do sistema de arquivos para facilitar a navegação e a recuperação.

  • Mapeia arquivos da pasta hardware para um banco de dados MongoDB datacenter-alpha-metrics e uma coleção hardware. O mapeamento de configuração inclui lógica de análise para capturar o carimbo de data/hora implícito no nome do arquivo.

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

O Atlas Data Federation analisa o Google Cloud Platform bucket de armazenamento da Google Cloud Platform datacenter-alpha e processa todos os arquivos /metrics/hardware/ abaixo de. O collections objeto usa a sintaxe de análise de caminho para mapear o nome do arquivo para o date campo, que é uma8601 data ISO-, em cada documento. Se um campo date correspondente não existir em um documento, o Atlas Data Federation adicionará.

Os usuários conectados à instância do banco de dados federado podem usar a Linguagem de Query MongoDB e agregações compatíveis para analisar dados no GCP bucket de Armazenamento GCP por meio da datacenter-alpha-metrics.hardware coleção.

Para suportar o Atlas Data Federation no Google Cloud Google Cloud Platform Platform , a configuração da instância do banco de dados federado tem o seguinte formulário de protótipo:

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
Campo
Tipo
necessidade
Descrição
stores
array
Obrigató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 em um Google Cloud Platform bucket de armazenamento do Google Cloud Platform

  • Documentos em um Atlas cluster

  • 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
Obrigató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
Obrigatório
Nome do provedor de nuvem onde os dados são armazenados. O valor deve ser gcs para um Google Cloud Platform bucket de armazenamento da Google Cloud Platform.
stores.[n]. region
string
Obrigatório
Nome da Google Cloud Platform região da Google Cloud Platform na qual o bucket de armazenamento da Google Google Cloud Platform Cloud Platform está hospedado. Para obter uma lista de nomes de regiões válidos, consulte Google Cloud Platform (GCP).
stores.[n]. bucket
string
Obrigatório
Nome do bucket de armazenamento da Google Google Cloud Platform Cloud Platform. Deve corresponder exatamente ao nome de um Google Cloud Platform bucket do Google Cloud Platform Storage que o Atlas Data Federation deve acessar.
stores.[n]. prefix
string
Opcional

O prefixo Atlas Data Federation se aplica ao procurar arquivos no Google Cloud Platform bucket Storage do Google Cloud Platform. Por exemplo, considere um Google Cloud Platform bucket de armazenamento da Google Cloud Platform metrics com a seguinte estrutura:

metrics
|--hardware
|--software
|--computed

O armazenamento de instância do banco de dados federado acrescenta o valor de prefix a databases.[n].collections.[n].dataSources.[n].path para criar o caminho completo para a ingestão dos arquivos. Definir prefix como /software restringe qualquer objeto databases que esteja usando a instância do banco de dados federado apenas a subcaminhos de /software.

O padrão é a raiz do bucket de armazenamento do Google Google Cloud Platform Cloud Platform, recuperando todos os arquivos.

stores.[n]. delimiter
string
Opcional
Delimitador que separa databases.[n].collections.[n].dataSources.[n].path segmentos no armazenamento de instância do banco de dados federado . O Atlas Data Federation usa o delimitador para percorrer com eficiência os Google Cloud Platform buckets de armazenamento do Google Cloud Platform com uma estrutura de diretório hierárquica simulada.
databases
array
Obrigató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
Obrigató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
Obrigatório
Array de objetos em que cada objeto representa uma coleção e fontes de dados que mapeiam para um armazenamento de instância do banco de dados federado stores.
databases.[n]. collections.[n]. name
string
Obrigató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.

Você pode gerar nomes de coleções dinamicamente a partir de caminhos de arquivos, especificando * para o nome da coleção e a função collectionName() no campo de caminho. Consulte Gerar nomes de coleção dinâmicos a partir do caminho do arquivo para obter exemplos.

databases.[n]. collections.[n]. dataSources
array
Obrigatório
Array de objetos em que cada objeto representa um armazém de instância do banco de dados federado stores para mapear com a collection.
databases.[n]. collections.[n]. dataSources.[n]. storeName
string
Obrigató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]. path
string
Obrigatório

Controla como o Atlas Data Federation procura e analisa arquivos no databases.[n].collections.[n].dataSources.[n].storeName antes de mapeá-los para o <collection>. a instância do banco de dados federado precede o stores.[n].prefix ao path para construir o caminho completo para pesquisa. Especifique / para capturar todos os arquivos e pastas do caminho prefix.

Por exemplo, considere um Google Cloud Platform bucket de armazenamento da Google Cloud Platform chamado metrics com a seguinte estrutura:

metrics
|--hardware
|--software
|--computed

Um path de / direciona o Atlas Data Federation para procurar todos os arquivos e pastas no bucket metrics.

Um path de /hardware orienta o Atlas Data Federation a procurar somente nesse caminho os arquivos que serão processados.

Se o stores.[n].prefix for software, o Atlas Data Federation pesquisará arquivos somente no caminho /software/computed.

Anexar o caractere curinga * ao caminho direciona a Atlas Data Federation a incluir todos os arquivos e pastas desse ponto no caminho. Por exemplo, /software/computed* corresponderia a arquivos como /software/computed-detailed, /software/computedArchive e /software/computed/errors.

databases.[n].collections.[n].dataSources.[n].path oferece suporte à sintaxe adicional para análise de nomes de arquivos, incluindo:

  • Geração de campos de documento a partir de nomes de arquivo.

  • Utilização de expressões regulares para controlar a geração de campo.

  • Definição de limites para agrupar nomes de arquivos por registro de data/hora.

Consulte Definir Caminho para Dados do S3 para obter mais informações.

Ao especificar o path:

  • Especifique o tipo de dados para o atributo de partição.

  • Certifique-se de que o tipo de atributo de partição corresponda ao tipo de dados para analisar.

  • Utilize o delimitador especificado em delimiter.

Ao especificar atributos do mesmo tipo, faça qualquer um dos seguintes:

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

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.

Dica

Veja também:

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

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
region
Google Cloud Platform Região dostores.[n].region Google Cloud Platform ()
bucket
Nome do Google Cloud Platform bucket de armazenamento do Google Cloud Platformstores.[n].bucket()
key
Caminho (databases.[n].collections.[n].dataSources.[n].path) para o documento
lastModified
Data e hora em que o documento foi modificado pela última vez.

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

databases.[n]. collections.[n]. dataSources.[n]. omitAttributes
booleano
Opcional

Sinalizador que especifica se devem ser omitidos os atributos (pares de chave e valor) que o Atlas Data Federation adiciona aos documentos na coleção. Você pode especificar um dos seguintes valores:

  • false - para adicionar os atributos

  • true - omitir os atributos

Se omitido, o padrão é false e o Atlas Data Federation adiciona os atributos.

Por exemplo, considere um arquivo denominado /employees/949-555-0195.json para o qual você configura o databases.[n].collections.[n].dataSources.[n].path /employees/{phone string}. O Atlas Data Federation adiciona o atributo phone: 949-555-0195 a documentos nesse arquivo se omitAttributes for false, independentemente de o par de valores-chave já existir no documento. Se você definir omitAttributes como true, o Atlas Data Federation não adicionará o atributo ao documento na coleção virtual.

Voltar

Distribuir