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

createStore

Nesta página

  • Sintaxe
  • Parâmetros
  • Saída
  • Exemplo
  • Solução de problemas de erros

O comando createStore cria um armazenamento na configuração de armazenamento da instância do banco de dados federado. Clique na guia abaixo para saber mais sobre como criar um reconhecimento de data center de instância do banco de dados federado para o conjunto de dados.

Esta guia contém a sintaxe e os parâmetros para criar um armazenamento de instância do banco de dados federado para dados no bucket Amazon Web Services S3 .

Importante

O Atlas Data Federation não permite consultas federadas em diferentes fornecedores de nuvem. Você só pode criar instâncias de banco de dados de dados federadas que mapeiem armazenamentos em um único provedor de nuvem.

Esta guia contém a sintaxe e os parâmetros para criar um armazenamento de instância do banco de dados federado para dados em contêineres do Azure Blob Storage.

Importante

O Atlas Data Federation não permite consultas federadas em diferentes fornecedores de nuvem. Você só pode criar instâncias de banco de dados de dados federadas que mapeiem armazenamentos em um único provedor de nuvem.

Esta guia contém a sintaxe e os parâmetros para criar um armazenamento de instância do banco de dados federado para dados nos Google Cloud Platform contêineres de armazenamento do Google Cloud Platform.

Importante

O Atlas Data Federation não permite consultas federadas em diferentes fornecedores de nuvem. Você só pode criar instâncias de banco de dados de dados federadas que mapeiem armazenamentos em um único provedor de nuvem.

Esta aba contém a sintaxe e os parâmetros para criar um armazenamento de instância do banco de dados federado para dados em um Atlas cluster.

Esta guia contém a sintaxe e os parâmetros para criar um armazenamento de instância do banco de dados federado HTTP para dados em arquivos hospedados em URLs acessíveis publicamente.

Esta guia contém a sintaxe e os parâmetros para criar um armazenamento de instância do banco de dados federado para o Atlas Online Archives.

db.runCommand({ createStore: <store-name>, provider: <storage-provider>, region: <region-name>, bucket: <bucket-name>, additionalStorageClasses: [ <storage-classes> ], delimiter: <delimiter>, public: true|false })
db.runCommand({ createStore: <store-name>, provider: <storage-provider>, region: <region-name>, serviceURL: <service-account-URL>, containerName: <storage-container-name>, delimiter: <delimiter>, public: true|false })
db.runCommand({ createStore: <store-name>, provider: <storage-provider>, region: <region-name>, bucket: <bucket-name>, delimiter: <delimiter>, prefix: <prefix> })
db.runCommand({ createStore: <store-name>, provider: <storage-provider>, clusterName: <cluster-name>, projectId: <project-id>, readPreference: {mode: <read-preference-mode>, tagSets: [[{name: <name>, value: <value>},...],...], maxStalenessSeconds: <number-of-seconds>}, readConcern: {level: <level>} })
db.runCommand({ createStore: <store-name>, provider: <storage-provider>, allowInsecure: true|false, urls: [ <url> ], defaultFormat: <file-extension> })
db.runCommand({ createStore: <store-name>, provider: "dls:aws", region: <online-archive-region> })
Parâmetro
Tipo
Descrição
Obrigatório?

createStore

string

Nome de armazenamento da nova instância do banco de dados federado. O nome de armazenamento da instância do banco de dados federado deve ser exclusivo.

sim

provider

string

Nome do serviço onde os dados são armazenados. O valor pode ser um dos seguintes:

  • s3 para um bucket Amazon Web Services S3 .

  • azure para o contêiner do Azure Blob Storage.

  • atlas para Atlas cluster.

  • http para arquivos hospedados em URLs acessíveis publicamente.

  • dls:<subtype> para arquivos online. O Atlas Data Federation é compatível com os seguintes subtipos:

    • aws - para dados armazenados no Amazon Web Services. O valor deve ser dls:aws.

    • azure - para dados armazenados no Azure. O valor deve ser dls:azure.

sim

region

string

Região em que o bucket está hospedado. Para obter uma lista de nomes de regiões válidos, consulte Amazon Web Services (Amazon Web Services).

sim

bucket

string

Nome do bucket no qual os dados são armazenados. Deve corresponder exatamente ao nome de um bucket S que o Data Federation pode acessar usando as3 Amazon Web Services credenciais do Amazon Web Services IAM.

sim

additionalStorageClasses

array de strings

Array do Amazon Web Services S3 classes de armazenamento . O Atlas Data Federation incluirá os arquivos nessas classes de armazenamento nos resultados da query. Os valores válidos são:

Os arquivos na classe de armazenamento Padrão são suportados por padrão.

no

delimiter

string

Caractere usado para separar segmentos de caminho no armazenamento de instâncias do banco de dados federado. Se omitido, o padrão é "/".

no

public

booleano

Sinalizador que indica se o bucket é público ou não. Os valores válidos são:

  • true para não usar a função do Amazon Web Services IAM para acessar o bucket

  • false para exigir a função do Amazon Web Services IAM para acessar o bucket

Se omitido, o padrão é false.

no

Parâmetro
Tipo
Descrição
Obrigatório?

createStore

string

Nome de armazenamento da nova instância do banco de dados federado. O nome de armazenamento da instância do banco de dados federado deve ser exclusivo.

sim

provider

string

Nome do serviço onde os dados são armazenados. O valor pode ser um dos seguintes:

  • s3 para um bucket Amazon Web Services S3 .

  • azure para o contêiner do Azure Blob Storage.

  • atlas para Atlas cluster.

  • http para arquivos hospedados em URLs acessíveis publicamente.

  • dls:<subtype> para arquivos online. O Atlas Data Federation é compatível com os seguintes subtipos:

    • aws - para dados armazenados no Amazon Web Services. O valor deve ser dls:aws.

    • azure - para dados armazenados no Azure. O valor deve ser dls:azure.

sim

region

string

Região em que o container está hospedado. Para obter uma lista de nomes de regiões válidos, consulte Microsoft Azure.

sim

bucket

string

URL da conta do Armazenamento de Blobs do Azure que contém seus contêineres de blobs. Por exemplo:

https://<azure-storage-account-name>.blob.core.windows.net/

sim

containerName

string

Nome do Azure Blob Storage container que contém os arquivos. Para obter mais informações, consulte a documentação do Azure para Nomeação e Referência de Contêineres.

sim

delimiter

string

Caractere usado para separar segmentos de caminho no armazenamento de instância do banco de dados federado . Se omitido, o padrão é "/".

no

public

booleano

Sinalizador que indica se o contêiner do Armazenamento de Blobs do Azure é público ou não. Os valores válidos são:

  • true para não usar o Azure Service Principal para acessar o bucket

  • false para exigir que o Azure Service Principal acesse o bucket

Se omitido, o padrão é false.

no

Parâmetro
Tipo
Descrição
Obrigatório?

createStore

string

Nome de armazenamento da nova instância do banco de dados federado. O nome de armazenamento da instância do banco de dados federado deve ser exclusivo.

sim

provider

string

Nome do serviço onde os dados são armazenados. O valor pode ser um dos seguintes:

  • s3 para um bucket Amazon Web Services S3 .

  • azure para o contêiner do Azure Blob Storage.

  • atlas para Atlas cluster.

  • http para arquivos hospedados em URLs acessíveis publicamente.

  • dls:<subtype> para arquivos online. O Atlas Data Federation é compatível com os seguintes subtipos:

    • aws - para dados armazenados no Amazon Web Services. O valor deve ser dls:aws.

    • azure - para dados armazenados no Azure. O valor deve ser dls:azure.

sim

region

string

Região em que o bucket está hospedado. Para obter uma lista de nomes de regiões válidos, consulte Google Cloud Platform (GCP).

sim

bucket

string

Nome do bucket no qual os dados são armazenados. Deve corresponder exatamente ao nome de um Google Cloud Platform bucket do Google Cloud Platform Google Cloud Platform Storage que o Data Federation pode acessar usando as credenciais configuradas do Google Cloud Platform IAM.

sim

delimiter

string

Caractere usado para separar segmentos de caminho no armazenamento de instâncias do banco de dados federado. Se omitido, o padrão é "/".

no

prefix

booleano

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.

no

Parâmetro
Tipo
Descrição
Obrigatório?

createStore

string

Nome de armazenamento da nova instância do banco de dados federado. O nome de armazenamento da instância do banco de dados federado deve ser exclusivo.

sim

provider

string

Nome do serviço onde os dados são armazenados. O valor pode ser um dos seguintes:

  • s3 para um bucket Amazon Web Services S3 .

  • azure para o contêiner do Azure Blob Storage.

  • atlas para Atlas cluster.

  • http para arquivos hospedados em URLs acessíveis publicamente.

  • dls:<subtype> para arquivos online. O Atlas Data Federation é compatível com os seguintes subtipos:

    • aws - para dados armazenados no Amazon Web Services. O valor deve ser dls:aws.

    • azure - para dados armazenados no Azure. O valor deve ser dls:azure.

sim

clusterName

string

Nome do Atlas cluster no qual o armazenamento é baseado.

sim

projectId

string

Identificador único do projeto que contém o Atlas cluster. Se não for especificado, o Atlas Data Federation assumirá que o cluster está localizado no mesmo projeto que a instância do banco de dados federado.

no

readPreference

documento

preferência de leitura de cluster , que descreve como rotear solicitações de leitura para o cluster.

no

readPreference
.mode

string

modo de preferência de leitura que especifica para qual membro do conjunto de réplicas as solicitações de leitura devem ser roteadas. O valor pode ser um dos seguintes:

  • primary - para rotear todas as solicitações de leitura para o conjunto de réplicas primário

  • primaryPreferred - para rotear todas as solicitações de leitura do conjunto de réplicas primário e para membros secundários somente se primary não estiver disponível

  • secondary - para rotear todas as solicitações de leitura para os membros secundários do conjunto de réplicas

  • secondaryPreferred - para rotear todas as solicitações de leitura para os membros secundários do conjunto de réplicas e o primary em clusters fragmentados somente se os membros secondary não estiverem disponíveis

  • nearest - para rotear todas as solicitações de leitura para um membro aleatório qualificado do conjunto de réplicas, independentemente de esse membro ser primário ou secundário

no

readPreference
.tagSets

array de strings

Arrays de conjuntos de tags ou documentos de especificação de tags que contêm pares de nome e valor para o membro do conjunto de réplicas. Se especificado, o Atlas Data Federation roteia solicitações de leitura para membros ou membros do conjunto de réplicas associados às tags especificadas. Para saber mais, consulte Conjuntos de tags de read preference.

O Atlas Data Federation não oferece suporte a esse parâmetro para clusters fragmentados.

no

readPreference
.maxStalenessSeconds

int

Atraso máximo de atraso de replicação, ou "obsoleto", para leituras de secundários . Para saber mais sobre maxStalenessSeconds, consulte Preferência de leitura maxStalenessSeconds.

no

Parâmetro
Tipo
Descrição
Obrigatório?

createStore

string

Nome de armazenamento da nova instância do banco de dados federado. O nome de armazenamento da instância do banco de dados federado deve ser exclusivo.

sim

provider

string

Nome do serviço onde os dados são armazenados. O valor pode ser um dos seguintes:

  • s3 para um bucket Amazon Web Services S3 .

  • azure para o contêiner do Azure Blob Storage.

  • atlas para Atlas cluster.

  • http para arquivos hospedados em URLs acessíveis publicamente.

  • dls:<subtype> para arquivos online. O Atlas Data Federation é compatível com os seguintes subtipos:

    • aws - para dados armazenados no Amazon Web Services. O valor deve ser dls:aws.

    • azure - para dados armazenados no Azure. O valor deve ser dls:azure.

sim

allowInsecure

booleano

Valida o esquema na s URLespecificada. 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.

no

urls

array de strings ou um array vazio

Um ou mais URLs acessíveis publicamente. Não é possível especificar URLs que exijam autenticação.

no

defaultFormat

string

Formate o padrão do Data Federation se encontrar um arquivo sem extensão ao consultar o reconhecimento de data center de instância do banco de dados federado. Os seguintes valores são válidos:

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

Se omitido, o Data Federation processa alguns bytes do arquivo para tentar detectar o tipo.

Se incluído, o formato especificado se aplica somente aos URLs no armazenamento.

no

Parâmetro
Tipo
Descrição
Obrigatório?

createStore

string

Nome de armazenamento da nova instância do banco de dados federado. O nome de armazenamento da instância do banco de dados federado deve ser exclusivo.

sim

provider

string

Nome do serviço onde os dados são armazenados. O valor pode ser um dos seguintes:

  • s3 para um bucket Amazon Web Services S3 .

  • azure para o contêiner do Azure Blob Storage.

  • atlas para Atlas cluster.

  • http para arquivos hospedados em URLs acessíveis publicamente.

  • dls:<subtype> para arquivos online. O Atlas Data Federation é compatível com os seguintes subtipos:

    • aws - para dados armazenados no Amazon Web Services. O valor deve ser dls:aws.

    • azure - para dados armazenados no Azure. O valor deve ser dls:azure.

sim

region

string

Região do seu arquivo online. Se você tiver vários arquivos em regiões diferentes, deverá adicionar um armazenamento para cada região para mapear os dados dessa região para bancos de dados virtuais e collections em instâncias de bancos de banco de dados federados.

sim

O comando imprime a seguinte saída se for bem-sucedido. Se o comando falhar, consulte Solucionar erros para ver soluções recomendadas.

{
"ok": 1,
"store": {
"name": "<store-name>",
"region": "<region-name>",
"bucket": "<bucket-name>",
"additionalStorageClasses": ["<storage-classes>"]
"delimiter": "<delimiter>",
"provider": "<storage-provider>"
}
}
{
"ok": 1,
"store": {
"name": "<store-name>",
"region": "<region-name>",
"serviceURL": "<service-account-URL>",
"containerName": "<storage-container-name>"
"delimiter": "<delimiter>",
"provider": "<storage-provider>"
}
}
{
"ok": 1,
"store": {
"name": "<store-name>",
"region": "<region-name>",
"bucket": "<storage-container-name>"
"delimiter": "<delimiter>",
"prefix": "<prefix>",
"provider": "<storage-provider>"
}
}
{
"ok" : 1,
"store" : {
"name" : "<store-name>",
"provider" : "<storage-provider>",
"clusterName" : "<cluster-name>",
"projectId" : "<project-id>",
"readPreference" : {
"mode" : "<read-preference-mode>",
"tagSets" : [[{"name": "<name>", "value": "<value>"},...],...],
"maxStalenessSeconds" : <number-of-seconds>
}
}
}
{
"ok" : 1,
"store" : {
"name" : "<store-name>",
"provider" : "<storage-provider>",
"allowInsecure" : true|false,
"urls" : [
"<url>"
],
"defaultFormat: "<file-extension>"
}
}
{
ok: 1,
store: {
name: '<store-name>',
provider: 'dls:aws',
region: '<online-archive-region>'
}
}

O exemplo seguinte utiliza o comando createStore para criar um novo armazenamento de instância do banco de dados federado denominado myStore.

use sample
db.runCommand({ createStore: "myStore", provider: "s3", region: "us-east-1", bucket: "my-bucket", "additionalStorageClasses" : ["STANDARD_IA","INTELLIGENT_TIERING"] })
{
"ok": 1,
"store": {
"name": "myStore",
"region": "us-east-1",
"bucket": "my-bucket",
"additionalStorageClasses" : [
"STANDARD_IA",
"INTELLIGENT_TIERING"
],
"delimiter": "/",
"provider": "s3"
}
}
use sample
db.runCommand({ createStore: "myStore", provider: "azure", region: "eastus2", serviceURL: "https://mystorage.blob.core.windows.net/", "containerName" : "my-data-container" })
{
"ok": 1,
"store": {
"name": "myStore",
"region": "eastus2",
"serviceURL": "https://mystorage.blob.core.windows.net/",
"containerName" : "my-data-container",
"delimiter": "/",
"provider": "azure"
}
}
use sample
db.runCommand({ createStore: "myStore", provider: "azure", region: "us-central1", "bucket" : "my-data-container" })
{
"ok": 1,
"store": {
"name": "myStore",
"region": "us-central1",
"bucket" : "my-data-container",
"delimiter": "/",
"provider": "gcp"
}
}
use sample
db.runCommand({ createStore: "myStore", provider: "atlas", clusterName: "myTestCluster", projectId: "<project-id>", "readPreference": {"mode": "secondary", "tagSets": [[{"name": "provider", "value": "AWS" }, {"name": "region", "value": "US_EAST_1"}]], "maxStalenessSeconds": 120} })
{
"ok" : 1,
"store" : {
"name" : "myStore",
"provider" : "atlas",
"clusterName" : "myTestCluster",
"projectId" : "<project-id>",
"readPreference" : {
"mode" : "secondary",
"tagSets": [[{"name": "provider", "value": "AWS" }, {"name": "region", "value": "US_EAST_1"}]],
"maxStalenessSeconds" : 120
}
}
}
use sample
db.runCommand({ createStore: "myStore", provider: "http", urls: ["https://atlas-data-lake.s3.amazonaws.com/json/sample_airbnb/listingsAndReviews","http://example.mongodb.com/sampleData"], allowInsecure: true, defaultFormat: ".json" })
{
"ok" : 1,
"store" : {
"name" : "http-store",
"provider" : "http",
"urls" : [
"https://atlas-data-lake.s3.amazonaws.com/json/sample_airbnb/listingsAndReviews",
"http://example.mongodb.com/sampleData"
],
"defaultFormat" : ".json"
"allowInsecure" : true
}
}
use sample
db.runCommand({ createStore: "myStore", provider: "dls:aws", region: "us-east-1" })
{
ok: 1,
store: {
name: 'myStore',
provider: 'dls:aws',
region: 'us-east-1'
}
}

Se o comando falhar, será gerado um dos seguintes erros.

Motivo: já existe um instância do banco de dados federado com o nome especificado no createStore .

{
"ok": 0,
"errmsg": "store <store-name> already exists",
"code": 2,
"codeName": "BadValue"
}

Solução: especifique um nome exclusivo para o armazenamento de instância do banco de dados federado.

Motivo: O provider especificado não é reconhecido.

{
"ok": 0,
"errmsg": "unrecognized store provider <storage-provider>",
"code": 2,
"codeName": "BadValue"
}

Solução: certifique-se de especificar um fornecedor de armazenamento válido.

Motivo: uma ou mais URLfornecidas contêm esquema HTTP inseguro.

{
"ok" : 0,
"errmsg" : "store 'httpStore': the insecure HTTP scheme is not supported by default - please add a 'allowInsecure: true' flag to the store or datasource to query from such URLs, correlationID = 16332c6eddf7b32776fde638",
"code" : 72,
"codeName" : "InvalidOptions"
}

Solução: Especifique a URLs com o esquema HTTPS seguro. Se as URLs especificadas tiverem o esquema HTTP inseguro, configure o sinalizador allowInsecure para true. Observe que definir o sinalizador allowInsecure como true deixa seus dados vulneráveis a ataques do tipo man-in-the-middle.

Voltar

Gerenciar a configuração