IBM Cloud Docs
Creación de una base de datos

Creación de una base de datos

Para crear una base de datos, envíe una solicitud PUT con el formato siguiente:

Método
PUT /$DATABASE?partitioned=$BOOLEAN
Cuerpo de solicitud
Ninguna
Respuesta
Éxito o fracaso de la operación.
Roles permitidos
_admin

Consulte el ejemplo siguiente que utiliza HTTP para crear una base de datos particionada:

PUT /$DATABASE?partitioned=true HTTP/1.1
HOST: $ACCOUNT.cloudant.com

Consulte el ejemplo siguiente que utiliza HTTP para crear una base de datos no particionada:

PUT /$DATABASE?partitioned=false HTTP/1.1
HOST: $ACCOUNT.cloudant.com

Ejemplo: creación de una base de datos particionada

Para crear una base de datos particionada, consulte el ejemplo siguiente:

curl -H "Authorization: Bearer $API_BEARER_TOKEN" -X PUT "$SERVICE_URL/products?partitioned=true"
import com.ibm.cloud.cloudant.v1.Cloudant;
import com.ibm.cloud.cloudant.v1.model.Ok;
import com.ibm.cloud.cloudant.v1.model.PutDatabaseOptions;

Cloudant service = Cloudant.newInstance();

PutDatabaseOptions databaseOptions = new PutDatabaseOptions.Builder()
    .db("products")
    .partitioned(true)
    .build();

Ok response =
    service.putDatabase(databaseOptions).execute()
        .getResult();

System.out.println(response);
const { CloudantV1 } = require('@ibm-cloud/cloudant');

const service = CloudantV1.newInstance({});

service.putDatabase({
  db: 'products',
  partitioned: true
}).then(response => {
  console.log(response.result);
});
from ibmcloudant.cloudant_v1 import CloudantV1

service = CloudantV1.new_instance()

response = service.put_database(db='products', partitioned=True).get_result()

print(response)
putDatabaseOptions := service.NewPutDatabaseOptions(
  "products",
)
putDatabaseOptions.SetPartitioned(true)

ok, response, err := service.PutDatabase(putDatabaseOptions)
if err != nil {
  panic(err)
}

b, _ := json.MarshalIndent(ok, "", "  ")
fmt.Println(string(b))

El ejemplo Go anterior requiere el siguiente bloque de importación:

import (
   "encoding/json"
   "fmt"
   "github.com/IBM/cloudant-go-sdk/cloudantv1"
)

Todos los ejemplos de Go requieren que se inicialice el objeto service. Para obtener más información, consulte los ejemplos de la Sección de autenticación de la documentación de la API.

Ejemplo: creación de una base de datos no particionada

Para crear una base de datos no particionada, consulte el ejemplo siguiente:

curl -H "Authorization: Bearer $API_BEARER_TOKEN" -X PUT "$SERVICE_URL/products"
import com.ibm.cloud.cloudant.v1.Cloudant;
import com.ibm.cloud.cloudant.v1.model.Ok;
import com.ibm.cloud.cloudant.v1.model.PutDatabaseOptions;

Cloudant service = Cloudant.newInstance();

PutDatabaseOptions databaseOptions = new PutDatabaseOptions.Builder()
    .db("products")
    .build();

Ok response =
    service.putDatabase(databaseOptions).execute()
        .getResult();

System.out.println(response);
const { CloudantV1 } = require('@ibm-cloud/cloudant');

const service = CloudantV1.newInstance({});

service.putDatabase({
  db: 'products'
}).then(response => {
  console.log(response.result);
});
from ibmcloudant.cloudant_v1 import CloudantV1

service = CloudantV1.new_instance()

response = service.put_database(db='products').get_result()

print(response)
putDatabaseOptions := service.NewPutDatabaseOptions(
  "products",
)

ok, response, err := service.PutDatabase(putDatabaseOptions)
if err != nil {
  panic(err)
}

b, _ := json.MarshalIndent(ok, "", "  ")
fmt.Println(string(b))

El ejemplo Go anterior requiere el siguiente bloque de importación:

import (
   "encoding/json"
   "fmt"
   "github.com/IBM/cloudant-go-sdk/cloudantv1"
)

Todos los ejemplos de Go requieren que se inicialice el objeto service. Para obtener más información, consulte los ejemplos de la Sección de autenticación de la documentación de la API.

Argumentos de la consulta

Argumentos de la consulta
Argumento Descripción Opcional Tipo Valor predeterminado Valores soportados
partitioned Determina si la base de datos está particionada. Boolean false true, false

Denominación de las bases de datos

El nombre de la base de datos debe empezar por una letra minúscula y contener únicamente los siguientes caracteres:

  • Caracteres en minúsculas (a-z)
  • Dígitos (0-9)
  • Cualquiera de los siguientes caracteres especiales: _, $, (,), +,-y/

Si la base de datos se ha creado correctamente, obtendrá una respuesta 201 o 202. Una respuesta de error utiliza el código de estado HTTP para indicar lo que ha fallado.

Códigos de estado de HTTP
Código Descripción
201 La base de datos se ha creado correctamente.
202 La base de datos se ha creado correctamente en algunos nodos, pero el número de nodos es menor que el quórum de escritura.
400 Nombre de base de datos no válido.
412 La base de datos ya existe.

Consulte la siguiente respuesta de ejemplo que se recibe después de que se haya creado correctamente una base de datos:

HTTP/1.1 201 Created

{
    "ok": true
}

Topología de la base de datos

Se puede modificar la configuración de una topología con fragmentación para una base de datos en clústeres de bases de datos dedicadas. Esta modificación se puede realizar cuando se crea la base de datos. Sin embargo, opciones poco adecuadas para los parámetros de configuración pueden afectar negativamente al rendimiento de la base de datos.

Para obtener más información sobre cómo modificar la configuración de una base de datos en un entorno de base de datos dedicada, póngase en contacto con el equipo de soporte de IBM Cloudant.

No se puede modificar la configuración que se utiliza para bases de datos en clústeres de varios arrendatarios.