Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
MongoDB Branding Shape
Click here >
Docs Menu

createStore

El comando createStore crea un almacén en la configuración de almacenamiento de la instancia federada de base de datos. Haz clic en la pestaña de abajo para saber más sobre la creación de un almacén de instancia federada de base de datos para la fuente de datos.

Esta pestaña contiene la sintaxis y los parámetros para crear una instancia federada de base de datos para los datos en el bucket AWS S3.

Importante

Atlas Data Federation no es compatible con las consultas federadas entre diferentes proveedores de la nube. Solo puedes crear instancias de bases de datos federadas que asignen a tiendas en un único proveedor de nube.

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

Importante

Atlas Data Federation no es compatible con las consultas federadas entre diferentes proveedores de la nube. Solo puedes crear instancias de bases de datos federadas que asignen a tiendas en 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 es compatible con las consultas federadas entre diferentes proveedores de la nube. Solo puedes crear instancias de bases de datos federadas que asignen a tiendas en un único proveedor de nube.

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

Esta pestaña contiene la sintaxis y los parámetros para crear una instancia federada de base de datos HTTP para almacenar datos en archivos alojados en URLs accesibles públicamente.

Esta pestaña contiene la sintaxis y los parámetros para crear un almacén de instancia federada de base de datos para Atlas en línea 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
¿Requerido?

createStore

string

Nombre del nuevo almacén de instancia federada de base de datos. El nombre del almacén de la instancia federada de base de datos 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 ficheros 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 en la que se aloja el bucket. Para obtener una lista de nombres de regiones válidos, consulta Amazon Web Services (AWS).

bucket

string

Nombre del bucket en el que se almacenan los datos. Debe coincidir exactamente con el nombre de un bucket S3 al que Data Federation pueda acceder utilizando credenciales AWS IAM.

additionalStorageClasses

Arreglo de cadenas

Arreglo de AWS S3 clases de almacenamiento. Atlas Data Federation incluirá los archivos en estas clases de almacenamiento en los resultados de la query. Los valores válidos son:

La compatibilidad con los archivos en la clase de almacenamiento Estándar está habilitada por defecto.

no

delimiter

string

Carácter utilizado para separar los segmentos de ruta en el almacén de la instancia federada de base de datos. Si se omite, el valor por defecto es "/".

no

public

booleano

Indicador que señala si el depositario es público o no. Los valores válidos son:

  • true no utilizar el rol de AWS IAM para acceder al bucket

  • false requerir el rol de AWS IAM para acceder al bucket

Si se omite, es por defecto false.

no

Parameter
Tipo
Descripción
¿Requerido?

createStore

string

Nombre del nuevo almacén de instancia federada de base de datos. El nombre del almacén de la instancia federada de base de datos 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 ficheros 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 en la que se aloja el contenedor. Para una lista de nombres de regiones válidos, consulta Microsoft Azure.

bucket

string

URL de la cuenta de Azure Blob Storage que contiene tus 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 más información, consulta la documentación de Azure sobre nombrar y referenciar contenedores.

delimiter

string

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

no

public

booleano

Indicador que indica si el contenedor de Microsoft Azure Blob almacenamiento es público o no. Los valores válidos son:

  • true no utilizar la entidad de servicio de Azure para acceder al bucket

  • false requerir que la entidad de servicio de Azure acceda al bucket

Si se omite, es por defecto false.

no

Parameter
Tipo
Descripción
¿Requerido?

createStore

string

Nombre del nuevo almacén de instancia federada de base de datos. El nombre del almacén de la instancia federada de base de datos 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 ficheros 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 en la que se aloja la bucket. Para una lista de nombres de regiones válidos, consulta Google Cloud Platform (GCP).

bucket

string

Nombre del bucket en el que se almacenan los datos. Debe coincidir exactamente con el nombre de un bucket de Google Cloud Storage al que Data Federation pueda acceder utilizando las credenciales de Google Cloud configuradas en IAM.

delimiter

string

Carácter utilizado para separar los segmentos de ruta en el almacén de la instancia federada de base de datos. Si se omite, el valor por defecto es "/".

no

prefix

booleano

Prefix Atlas Data Federation se aplica cuando se buscan 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 federadas de base de datos antepone el valor de prefix a databases.[n].collections.[n].dataSources.[n].path para crear la ruta completa de los archivos a ingerir. Establecer prefix en /software restringe cualquier objeto databases que utilice la instancia federada de base de datos solo a subrutas de /software.

Por defecto, se establece en la raíz del bucket de Google Cloud Storage y recupera todos los archivos.

no

Parameter
Tipo
Descripción
¿Requerido?

createStore

string

Nombre del nuevo almacén de instancia federada de base de datos. El nombre del almacén de la instancia federada de base de datos 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 ficheros 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 de Atlas sobre el cual se basa la tienda.

projectId

string

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

no

readPreference

Documento

El preferencia de lectura, 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 enrutar las solicitudes de lectura. El valor puede ser uno de los siguientes:

  • primary - para encaminar todas las solicitudes de lectura al set de réplicas primario

  • primaryPreferred - para enrutar todas las solicitudes de lectura al set de réplicas primario y solo a los miembros secundarios 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 derivar todas las solicitudes de lectura a un nodo aleatorio elegible del set de réplicas, independientemente de si ese nodo es un primario o un secundario

no

readPreference
.tagSets

Arreglo de cadenas

Arreglos de conjuntos de etiquetas o documentos de especificaciones de etiquetas que contienen parejas de nombres y valores para el miembro del set de réplicas. Si se especifica, Atlas Data Federation enruta las solicitudes de lectura hacia miembros del set 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 "antigüedad", para lecturas de secundarios. Para obtener más información sobre maxStalenessSeconds, consulte Preferencia de lectura maxStalenessSeconds.

no

Parameter
Tipo
Descripción
¿Requerido?

createStore

string

Nombre del nuevo almacén de instancia federada de base de datos. El nombre del almacén de la instancia federada de base de datos 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 ficheros 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 permitir esquema HTTP inseguro

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

Si es verdadero, Atlas Data Federation:

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

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

ADVERTENCIA: Si configuras esto en true, tus datos podrían quedar vulnerables a un ataque man-in-the-middle, lo que comprometería la confidencialidad e integridad de tus datos. Configura esto en true solo para pruebas y para comenzar con Atlas Data Federation.

Si se omite, es por defecto false.

no

urls

arreglo de strings o un arreglo vacío

Uno o más URLpúblicos accesibles. No puedes especificar URLque requieran autenticación.

no

defaultFormat

string

Formato al que Data Federation por defecto si encuentra un archivo sin extensión mientras consulta la instancia federada de base de datos almacenar. 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 URLen el almacenar.

no

Parameter
Tipo
Descripción
¿Requerido?

createStore

string

Nombre del nuevo almacén de instancia federada de base de datos. El nombre del almacén de la instancia federada de base de datos 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 ficheros 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 tu fichero en linea. Si tienes varios ficheros en diferentes regiones, debes agregar un almacén para cada región a fin de asignar los datos de esa región a bases de datos virtuales y colecciones en instancias de bases de datos federadas.

El comando imprime el siguiente resultado si tiene éxito. Si el comando falla, consulta Solucionar errores para conocer las 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 instancia federada de base de datos 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: ya existe un almacenar de instancia federada de base de datos con el nombre especificado en createStore .

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

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

Motivo: El/la provider especificado/a no se reconoce.

{
"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 URLproporcionadas contienen el esquema de 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: especifica URLcon la esquema de seguridad HTTPS. Si los URLespecificados tienen el esquema inseguro HTTP, configuren la bandera allowInsecure a true. Ten en cuenta que establecer el indicador allowInsecure en true deja tus datos vulnerables a ataques de intermediarios.