Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
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 instancia federada de base de datos para datos en AWS S3 bucket.

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 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 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 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 S3.

  • azure para el contenedor de Azure Blob Storage.

  • atlas para el clúster Atlas.

  • http para archivos alojados en urls de acceso 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 ser dls:aws.

    • azure - para los datos almacenados en Azure. El valor debe ser dls:azure.

region

string

Región en la que se aloja el bucket. Para obtener una lista de nombres de regiones válidos, consulte Servicios web de Amazon (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 puede acceder utilizando las 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:

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

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

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

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

  • false exigir que el rol AWS IAM acceda al bucket

Si se omite, es por defecto false.

no

Parameter
Tipo
Descripción
¿Requerido?

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 S3.

  • azure para el contenedor de Azure Blob Storage.

  • atlas para el clúster Atlas.

  • http para archivos alojados en urls de acceso 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 ser dls:aws.

    • azure - para los datos almacenados en Azure. El valor debe ser dls:azure.

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 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 obtener 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 almacén de instancias de base de datos federada. Si se omite, el valor predeterminado 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 usar la entidad de servicio de Azure para acceder al depósito

  • false requerir que el principal 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 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 S3.

  • azure para el contenedor de Azure Blob Storage.

  • atlas para el clúster Atlas.

  • http para archivos alojados en urls de acceso 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 ser dls:aws.

    • azure - para los datos almacenados en Azure. El valor debe ser dls:azure.

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 Almacenamiento al que Data Federation pueda acceder utilizando las credenciales de Google Cloud IAM configuradas.

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 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
¿Requerido?

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 S3.

  • azure para el contenedor de Azure Blob Storage.

  • atlas para el clúster Atlas.

  • http para archivos alojados en urls de acceso 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 ser dls:aws.

    • azure - para los datos almacenados en Azure. El valor debe ser dls:azure.

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

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

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 "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 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 S3.

  • azure para el contenedor de Azure Blob Storage.

  • atlas para el clúster Atlas.

  • http para archivos alojados en urls de acceso 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 ser dls:aws.

    • azure - para los datos almacenados en Azure. El valor debe ser dls:azure.

allowInsecure

booleano

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

  • true para permitir el esquema HTTP inseguro

  • false permitir solo el esquema seguro HTTPS (por defecto)

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

Una o más URLs de acceso público. No se pueden especificar las URLque requieren 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 los URLen el almacenar.

no

Parameter
Tipo
Descripción
¿Requerido?

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 S3.

  • azure para el contenedor de Azure Blob Storage.

  • atlas para el clúster Atlas.

  • http para archivos alojados en urls de acceso 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 ser dls:aws.

    • azure - para los datos almacenados en Azure. El valor debe ser dls:azure.

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 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: 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: uno o más URLproporcionados 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 URLs con el esquema seguro HTTPS. Si las URLespecificadas tienen el esquema HTTP inseguro, debe establecer la bandera allowInsecure en true. Ten en cuenta que configurar el indicador allowInsecure en true deja tus datos vulnerables a ataques de intermediarios.

Volver

Gestionar configuración

En esta página