Docs Menu
Docs Home
/ /

createStore

El comando createStore crea un almacén en la configuración de almacenamiento de la instancia de base de datos federada. Haga clic en la pestaña a continuación para obtener más información sobre cómo crear un almacén de instancia de base de datos federada para la fuente de datos.

Esta pestaña contiene la sintaxis y los parámetros para crear un almacén de instancias de base de datos federada para datos en AWS CuboS.3

Importante

Atlas Data Federation no admite consultas federadas entre diferentes proveedores de nube. Solo se pueden crear instancias de bases de datos federadas que se asignen a almacenes de un único proveedor de nube.

Esta pestaña contiene la sintaxis y los parámetros para crear un almacén de instancias de base de datos federada para datos en contenedores de Azure Blob Storage.

Importante

Atlas Data Federation no admite consultas federadas entre diferentes proveedores de nube. Solo se pueden crear instancias de bases de datos federadas que se asignen a almacenes de un único proveedor de nube.

Esta pestaña contiene la sintaxis y los parámetros para crear un almacén de instancias de instancia federada de base de datos para datos en contenedores de Google Cloud almacenamiento.

Importante

Atlas Data Federation no admite consultas federadas entre diferentes proveedores de nube. Solo se pueden crear instancias de bases de datos federadas que se asignen a almacenes de un único proveedor de nube.

Esta pestaña contiene la sintaxis y los parámetros para crear un almacén de instancias de base de datos federada para datos en un clúster Atlas.

Esta pestaña contiene la sintaxis y los parámetros para crear un almacén de instancias de base de datos federada HTTP para datos en archivos alojados en URLde acceso público.

Esta pestaña contiene la sintaxis y los parámetros para crear un almacén de instancias de base de datos federada para 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> })
Parameter
Tipo
Descripción
¿Obligatorio?

createStore

string

Nombre del nuevo almacén de instancias de base de datos federada. El nombre del almacén de instancias de base de datos federada debe ser único.

provider

string

Nombre del servicio donde se almacenan los datos. El valor puede ser uno de los siguientes:

  • s3 para un bucket de AWS S.3

  • azure para el contenedor de Azure Blob Storage.

  • atlas para el clúster Atlas.

  • http para archivos alojados en URL deacceso público.

  • dls:<subtype> Para archivos en línea. Atlas Data Federation admite los siguientes subtipos:

    • aws - para datos almacenados en AWS. El valor debe dls:aws ser.

    • azure Para datos almacenados en Azure. El valor debe dls:azure ser.

region

string

Región donde se aloja bucket. Para obtener una lista de nombres de región válidos, consulte Servicios web de Amazon (AWS).

bucket

string

Nombre del bucket donde se almacenan los datos. Debe coincidir exactamente con el nombre de un bucket S al que Data Federation3 puede acceder mediante credenciales de AWS IAM.

additionalStorageClasses

matriz de cadenas

Matriz de clases de almacenamiento de AWS S3Atlas Data Federation incluirá los archivos de estas clases de almacenamiento en los resultados de la consulta. Los valores válidos son:

Los archivos de la clase de almacenamiento Estándar se admiten de forma predeterminada.

no

delimiter

string

Carácter utilizado para separar segmentos de ruta en el almacén de instancias de base de datos federada. Si se omite, el valor predeterminado es "/".

no

public

booleano

Marca que indica si el bucket es público. Los valores válidos son:

  • true No utilizar el rol de AWS IAM para acceder al depósito

  • false Para requerir que el rol de AWS IAM acceda al depósito

Si se omite, es por defecto false.

no

Parameter
Tipo
Descripción
¿Obligatorio?

createStore

string

Nombre del nuevo almacén de instancias de base de datos federada. El nombre del almacén de instancias de base de datos federada debe ser único.

provider

string

Nombre del servicio donde se almacenan los datos. El valor puede ser uno de los siguientes:

  • s3 para un bucket de AWS S.3

  • azure para el contenedor de Azure Blob Storage.

  • atlas para el clúster Atlas.

  • http para archivos alojados en URL deacceso público.

  • dls:<subtype> Para archivos en línea. Atlas Data Federation admite los siguientes subtipos:

    • aws - para datos almacenados en AWS. El valor debe dls:aws ser.

    • azure Para datos almacenados en Azure. El valor debe dls:azure ser.

region

string

Región donde se aloja el contenedor. Para obtener una lista de nombres de región válidos, consulte Microsoft Azure.

bucket

string

URL de la cuenta de Azure Blob Storage que contiene los contenedores de blobs. Por ejemplo:

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

containerName

string

Nombre del contenedor de Azure Blob Storage que contiene los archivos. Para obtener más información,consulte la documentación de Azure sobre cómo nombrar y hacer referencia a contenedores.

delimiter

string

Carácter utilizado para separar segmentos de ruta en el almacén de instancias de base de datos federada. Si se omite, el valor predeterminado es "/".

no

public

booleano

Marca que indica si el contenedor de Azure Blob Storage es público. Los valores válidos son:

  • true No usar la entidad de servicio de Azure para acceder al depósito

  • false Para requerir que la entidad de servicio de Azure acceda al depósito

Si se omite, es por defecto false.

no

Parameter
Tipo
Descripción
¿Obligatorio?

createStore

string

Nombre del nuevo almacén de instancias de base de datos federada. El nombre del almacén de instancias de base de datos federada debe ser único.

provider

string

Nombre del servicio donde se almacenan los datos. El valor puede ser uno de los siguientes:

  • s3 para un bucket de AWS S.3

  • azure para el contenedor de Azure Blob Storage.

  • atlas para el clúster Atlas.

  • http para archivos alojados en URL deacceso público.

  • dls:<subtype> Para archivos en línea. Atlas Data Federation admite los siguientes subtipos:

    • aws - para datos almacenados en AWS. El valor debe dls:aws ser.

    • azure Para datos almacenados en Azure. El valor debe dls:azure ser.

region

string

Región donde se bucket aloja. Para obtener una lista de nombres de región válidos, consulte Google Cloud Platform (GCP).

bucket

string

Nombre del bucket donde se almacenan los datos. Debe coincidir exactamente con el nombre de un bucket de Google Cloud Storage al que la Federación de Datos pueda acceder mediante las credenciales de Google Cloud IAM configuradas.

delimiter

string

Carácter utilizado para separar segmentos de ruta en el almacén de instancias de base de datos federada. Si se omite, el valor predeterminado es "/".

no

prefix

booleano

El prefijo Atlas Data Federation se aplica al buscar archivos en el bucket de Google Cloud Storage. Por ejemplo, considere un bucket de Google Cloud Storage metrics con la siguiente estructura:

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

El almacén de instancias de base de datos federada antepone el valor de prefix a databases.[n].collections.[n].dataSources.[n].path para crear la ruta completa de los archivos que se van a ingerir. Al establecer prefix en /software, se restringe el uso de objetos databases que utilicen la instancia de base de datos federada únicamente a subrutas de /software.

El valor predeterminado es la raíz del depósito de Google Cloud Storage y recupera todos los archivos.

no

Parameter
Tipo
Descripción
¿Obligatorio?

createStore

string

Nombre del nuevo almacén de instancias de base de datos federada. El nombre del almacén de instancias de base de datos federada debe ser único.

provider

string

Nombre del servicio donde se almacenan los datos. El valor puede ser uno de los siguientes:

  • s3 para un bucket de AWS S.3

  • azure para el contenedor de Azure Blob Storage.

  • atlas para el clúster Atlas.

  • http para archivos alojados en URL deacceso público.

  • dls:<subtype> Para archivos en línea. Atlas Data Federation admite los siguientes subtipos:

    • aws - para datos almacenados en AWS. El valor debe dls:aws ser.

    • azure Para datos almacenados en Azure. El valor debe dls:azure ser.

clusterName

string

Nombre del clúster Atlas en el que se basa la tienda.

projectId

string

Identificador único del proyecto que contiene el clúster Atlas. Atlas Data Federation solo admite el projectId del proyecto donde existe la instancia de base de datos federada. Si no se especifica, Atlas Data Federation asume que el clúster se encuentra en el mismo proyecto que la instancia de base de datos federada.

no

readPreference

Documento

Preferencia de lectura del clúster, que describe cómo enrutar las solicitudes de lectura al clúster.

no

readPreference
.mode

string

Modo de preferencia de lectura que especifica a qué miembro del conjunto de réplicas se enrutan las solicitudes de lectura. El valor puede ser uno de los siguientes:

  • primary - para enrutar todas las solicitudes de lectura al conjunto de réplicas principal

  • primaryPreferred - para enrutar todas las solicitudes de lectura al conjunto de réplicas principal y a los miembros secundarios solo si primary no está disponible

  • secondary - para dirigir todas las solicitudes de lectura a los miembros secundarios del set de réplicas

  • secondaryPreferred - para dirigir todas las solicitudes de lectura a los miembros secundarios del set de réplicas y solo al principal en clústeres particionados si los miembros secondary no están disponibles

  • nearest - para enrutar todas las solicitudes de lectura a un miembro aleatorio del conjunto de réplicas elegible, independientemente de si ese miembro es primario o secundario

no

readPreference
.tagSets

matriz de cadenas

Matrices de conjuntos de etiquetas o documentos de especificación de etiquetas que contienen pares de nombre y valor para el miembro del conjunto de réplicas. Si se especifica, Atlas Data Federation dirige las solicitudes de lectura al miembro o miembros del conjunto de réplicas asociados con las etiquetas especificadas. Para obtener más información, consulte Conjuntos de etiquetas de preferencia de lectura.

Atlas Data Federation no admite este parámetro para clústeres fragmentados.

no

readPreference
.maxStalenessSeconds

Int

Retraso máximo de replicación, o "obsolescencia", para lecturas de secundarias. Para obtener más información maxStalenessSeconds sobre, consulte Preferencia de lectura maxStalenessSeconds.

no

Parameter
Tipo
Descripción
¿Obligatorio?

createStore

string

Nombre del nuevo almacén de instancias de base de datos federada. El nombre del almacén de instancias de base de datos federada debe ser único.

provider

string

Nombre del servicio donde se almacenan los datos. El valor puede ser uno de los siguientes:

  • s3 para un bucket de AWS S.3

  • azure para el contenedor de Azure Blob Storage.

  • atlas para el clúster Atlas.

  • http para archivos alojados en URL deacceso público.

  • dls:<subtype> Para archivos en línea. Atlas Data Federation admite los siguientes subtipos:

    • aws - para datos almacenados en AWS. El valor debe dls:aws ser.

    • azure Para datos almacenados en Azure. El valor debe dls:azure ser.

allowInsecure

booleano

Valida el esquema en las URLespecificadas. El valor puede ser uno de los siguientes:

  • true para permitir un esquema HTTP inseguro

  • false Permitir únicamente el esquema seguro HTTPS (predeterminado)

Si es verdadero, Atlas Data Federation:

  • No verifica la cadena de certificados ni el nombre de host del servidor.

  • Acepta cualquier certificado con cualquier nombre de host presentado por el servidor.

ADVERTENCIA: Si configura esta opción true en, sus datos podrían quedar expuestos a un ataque de intermediario, lo que puede comprometer su confidencialidad e integridad. Configure esta opción en true solo para realizar pruebas y comenzar a usar Atlas Data Federation.

Si se omite, es por defecto false.

no

urls

matriz de cadenas o una matriz vacía

Una o más URLde acceso público. No se pueden especificar URLque requieran autenticación.

no

defaultFormat

string

Formato predeterminado de la Federación de Datos si encuentra un archivo sin extensión al consultar el almacén de instancias de la base de datos federada. Los siguientes valores son válidos:

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

Si se omite, Data Federation intenta detectar el tipo de archivo procesando algunos bytes del archivo.

Si se incluye, el formato especificado solo se aplica a las URLde la tienda.

no

Parameter
Tipo
Descripción
¿Obligatorio?

createStore

string

Nombre del nuevo almacén de instancias de base de datos federada. El nombre del almacén de instancias de base de datos federada debe ser único.

provider

string

Nombre del servicio donde se almacenan los datos. El valor puede ser uno de los siguientes:

  • s3 para un bucket de AWS S.3

  • azure para el contenedor de Azure Blob Storage.

  • atlas para el clúster Atlas.

  • http para archivos alojados en URL deacceso público.

  • dls:<subtype> Para archivos en línea. Atlas Data Federation admite los siguientes subtipos:

    • aws - para datos almacenados en AWS. El valor debe dls:aws ser.

    • azure Para datos almacenados en Azure. El valor debe dls:azure ser.

region

string

Región de su archivo en línea. Si tiene varios archivos en diferentes regiones, debe agregar un almacén para cada región para asignar los datos de esa región a bases de datos virtuales y colecciones en instancias de bases de datos federadas.

El comando imprime la siguiente salida si se ejecuta correctamente. Si falla, consulte "Solucionar errores" para obtener soluciones 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>'
}
}

El siguiente ejemplo utiliza el comando createStore para crear un nuevo almacén de instancias de base de datos federada llamado 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'
}
}

Si el comando falla, devuelve uno de los siguientes errores.

Motivo: createStore ya existe una instancia de base de datos federada con el nombre especificado en.

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

Solución: especifique un nombre único para el almacén de instancias de base de datos federada.

Motivo: provider No se reconoce el especificado.

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

Solución: asegúrese de especificar un proveedor de almacenamiento válido.

Motivo: Una o más URLdadas contienen un 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"
}

Solución: Especifique las URLcon el esquema HTTPS seguro. Si las URLespecificadas tienen el esquema HTTP inseguro, configure el allowInsecure indicador true en. Tenga en cuenta que configurar el allowInsecure indicador en true expone sus datos a ataques de intermediario.

Volver

Administrar configuración

En esta página