Cloud Databases API
2.ª generación
La API de « Cloud Databases » suele utilizar la API del controlador de recursos para sus operaciones. Utiliza esta documentación de la API para trabajar con tus servicios de datos.
Autenticación
El acceso a la API se realiza mediante autenticación con token, utilizando el encabezado « Authorization: Bearer <token> ». El token debe haber sido emitido por IAM. Puedes enviar
una clave de API de IAM directamente como token o utilizar la clave de API para generar un token de portador de IAM.
Para poder llamar a cada método, es necesario que se te haya asignado un rol que incluya las acciones de IAM necesarias. Cada método lista la acción asociada. Para obtener más información sobre las acciones de IAM y cómo se correlacionan con roles, consulte Gestión del acceso para IBM Cloud®.
Manejo de errores
La API utiliza los códigos de respuesta estándar de HTTP para indicar si un método se ha ejecutado correctamente. Una respuesta « 200 » siempre indica que la operación se ha realizado correctamente. Una respuesta del
tipo « 4xx » indica algún tipo de fallo, mientras que una respuesta del tipo « 500 » suele indicar un error interno del sistema. Cualquiera de estas respuestas puede ir acompañada de un cuerpo en formato JSON que
contenga información más detallada sobre el error.
Seguimiento de eventos
Puedes supervisar la actividad de la API en tu cuenta utilizando el IBM Cloud® Activity Tracker servicio. Cada vez que se invoca un método de la API, se genera un evento que puedes seguir y auditar desde Activity Tracker. El tipo de evento específico se indica para cada método concreto.
Identificadores de implementación y CRN
Los ID de implementación son CRN en la plataforma Cloud Data Services. Cuando utilices el CRN, recuerda codificar el valor del CRN URL, ya que podría incluir el carácter de barra inclinada (/) %2F.
Ejemplo: El siguiente CRN
crn:v1:bluemix:public:databases-for-redis:us-south:a/274074dce64e9c423ffc238516c755e1:29caf0e7-120f-4da8-9551-3abf57ebcfc7::
queda así al codificarlo con « URL ».
crn:v1:bluemix:public:databases-for-redis:us-south:a%2F274074dce64e9c423ffc238516c755e1:29caf0e7-120f-4da8-9551-3abf57ebcfc7::
Paginación
Actualmente, ningún punto final devuelve datos paginados.
Limitación de velocidad
Actualmente, ningún punto final implementa la limitación de velocidad.
Métodos
Mostrar todos los productos implementados
Devuelve una lista de todos los servicios en la nube implementados.
GET /v2/resource_instances
Solicitud de ejemplo:
curl -X GET https://resource-controller.cloud.ibm.com/v2/resource_instances -H "Authorization: Bearer <IAM token>"
Respuesta de ejemplo:
{
"rows_count": 100,
"next_url": "/v2/resource_instances?start=<token>",
"resources": [
{
"id": "crn:v1:bluemix:public:databases-for-redis:eu-de:a/40ddc34a953a8c02f10987b59085b60e:07d523b1-6eea-4263-bd03-c17edf355e0b::",
"guid": "07d523b1-6eea-4263-bd03-c17edf355e0b",
"url": "/v2/resource_instances/07d523b1-6eea-4263-bd03-c17edf355e0b",
"created_at": "2026-07-17T06:41:51.267012883Z",
"updated_at": "2026-07-17T06:42:11.22949657Z",
"deleted_at": null,
"created_by": "Id-270000000X",
"updated_by": "",
"deleted_by": "",
"scheduled_reclaim_at": null,
"restored_at": null,
"scheduled_reclaim_by": "",
"restored_by": "",
"name": "test-redis-gen2",
"region_id": "eu-de",
"account_id": "40ddc34a953a8c02f10987b59085b60e",
"reseller_channel_id": "",
"resource_plan_id": "databases-for-redis-gen2-standard",
"resource_group_id": "eb922ba0717f47589ca26d202c5cc915",
"resource_group_crn": "crn:v1:bluemix:public:resource-controller::a/40ddc34a953a8c02f10987b59085b60e::resource-group:eb922ba0717f47589ca26d202c5cc915",
"target_crn": "crn:v1:bluemix:public:globalcatalog::::deployment:databases-for-redis-standard-gen2%3Aeu-de",
"parameters": {
"dataservices": {
"redis": {
"host_flavor": "bxf.4x16",
"members": 2,
"storage_gb": 15,
"version": "8.2"
}
}
},
"allow_cleanup": false,
"crn": "crn:v1:bluemix:public:databases-for-redis:eu-de:a/40ddc34a953a8c02f10987b59085b60e:07d523b1-6eea-4263-bd03-c17edf355e0b::",
"state": "provisioning",
"type": "service_instance",
"sub_type": "Public",
"resource_id": "databases-for-redis",
"dashboard_url": null,
"last_operation": {
"type": "create",
"state": "in progress",
"async": true,
"description": "Provision in progress",
"cancelable": true,
"poll": true
},
"resource_keys_url": "/v2/resource_instances/07d523b1-6eea-4263-bd03-c17edf355e0b/resource_keys",
"plan_history": [
{
"resource_plan_id": "databases-for-redis-gen2-standard",
"start_date": "2026-07-17T06:41:51.267012883Z",
"requestor_id": "Id-270000000X"
}
],
"migrated": false,
"controlled_by": "",
"locked": false,
"onetime_credentials": false
}
]
}
Los objetos de recursos adicionales se devuelven en la matriz « resources ». Utiliza el token « next_url » para recuperar la siguiente página de resultados.
Obtener información sobre la implementación
Obtiene todos los datos asociados a una implementación. Estos datos incluyen el ID, el nombre, el tipo de base de datos y la versión.
GET /v2/resource_instances/{id}
Solicitud de ejemplo:
curl -X GET https://resource-controller.cloud.ibm.com/v2/resource_instances/95004d03-9fec-443b-9f6e-083f2b25e73a -H "Authorization: Bearer <IAM token>" \
Respuesta de ejemplo:
{
"id": "crn:v1:bluemix:public:databases-for-postgresql:us-east:a/23b09aee04da4545b6e32805fa93249d:95004d03-9fec-443b-9f6e-083f2b25e73a::",
"guid": "95004d03-9fec-443b-9f6e-083f2b25e73a",
"url": "/v2/resource_instances/95004d03-9fec-443b-9f6e-083f2b25e73a",
"created_at": "2026-07-02T14:04:29.613949688Z",
"updated_at": "2026-07-02T14:15:54.226535327Z",
"deleted_at": null,
"created_by": "Id-4700030B2K",
"updated_by": "",
"deleted_by": "",
"scheduled_reclaim_at": null,
"restored_at": null,
"scheduled_reclaim_by": "",
"restored_by": "",
"name": "Databases for PostgreSQL-3b",
"region_id": "us-east",
"account_id": "23b09aee04da4545b6e32805fa93249d",
"reseller_channel_id": "",
"resource_plan_id": "databases-for-postgresql-gen2-standard",
"resource_group_id": "c21a4e8564c14d1aab2a9a8b441904eb",
"resource_group_crn": "crn:v1:bluemix:public:resource-controller::a/23b09aee04da4545b6e32805fa93249d::resource-group:c21a4e8564c14d1aab2a9a8b441904eb",
"target_crn": "crn:v1:bluemix:public:globalcatalog::::deployment:databases-for-postgresql-standard-gen2%3Aus-east",
"parameters": {
"dataservices": {
"postgresql": {
"host_flavor": "bx3d.4x20",
"members": 2,
"storage_gb": 10,
"version": "18"
}
}
},
"allow_cleanup": false,
"crn": "crn:v1:bluemix:public:databases-for-postgresql:us-east:a/23b09aee04da4545b6e32805fa93249d:95004d03-9fec-443b-9f6e-083f2b25e73a::",
"state": "active",
"type": "service_instance",
"sub_type": "Public",
"resource_id": "databases-for-postgresql",
"dashboard_url": null,
"last_operation": {
"type": "create",
"state": "succeeded",
"async": true,
"description": "Provision completed successfully",
"cancelable": true,
"poll": true
},
"resource_keys_url": "/v2/resource_instances/95004d03-9fec-443b-9f6e-083f2b25e73a/resource_keys",
"plan_history": [
{
"resource_plan_id": "databases-for-postgresql-gen2-standard",
"start_date": "2026-07-02T14:04:29.613949688Z",
"requestor_id": "Id-4700030B2K"
}
],
"migrated": false,
"extensions": {
"dataservices": {
"$schema": {
"version": "1.0.0"
},
"connection": {
"cli": {
"arguments": [
"host=95004d03-9fec-443b-9f6e-083f2b25e73a.private.uhp.postgresql.us-east.dataservices.appdomain.cloud port=5432 dbname=postgres user=$PGUSER password=$PGPASSWORD sslmode=verify-full"
],
"bin": "psql",
"composed": [
"PGUSER=$PGUSER PGPASSWORD=$PGPASSWORD PGSSLMODE=verify-full PGSSLROOTCERT=system psql 'host=95004d03-9fec-443b-9f6e-083f2b25e73a.private.uhp.postgresql.us-east.dataservices.appdomain.cloud port=5432 dbname=postgres'"
],
"environment": {
"PGPASSWORD": "$PGPASSWORD",
"PGSSLMODE": "verify-full",
"PGSSLROOTCERT": "system",
"PGUSER": "$PGUSER"
},
"type": "cli"
},
"postgres": {
"authentication": {
"method": "direct",
"password": "$PGPASSWORD",
"username": "$PGUSER"
},
"composed": [
"postgres://$PGUSER:$PGPASSWORD@95004d03-9fec-443b-9f6e-083f2b25e73a.private.uhp.postgresql.us-east.dataservices.appdomain.cloud:5432/postgres?sslmode=verify-full"
],
"database": "postgres",
"hosts": [
{
"hostname": "95004d03-9fec-443b-9f6e-083f2b25e73a.private.uhp.postgresql.us-east.dataservices.appdomain.cloud",
"port": 5432
}
],
"path": "/postgres",
"port": 5432,
"query_options": {
"sslmode": "verify-full"
},
"scheme": "postgres",
"type": "uri"
}
},
"postgresql": {
"configuration": {
"max_connections": 115
},
"cpu_count": 4,
"host_flavor": "bx3d.4x20",
"members": 2,
"memory_gb": 20,
"storage_gb": 10,
"version": "18"
}
},
"virtual_private_endpoints": {
"dns_domain": "95004d03-9fec-443b-9f6e-083f2b25e73a.private.uhp.postgresql.us-east.dataservices.appdomain.cloud",
"dns_hosts": [
"",
"*"
],
"endpoints": [
{
"ip_address": "10.51.217.34",
"zone": "us-east-1"
},
{
"ip_address": "10.51.219.57",
"zone": "us-east-2"
},
{
"ip_address": "10.51.221.12",
"zone": "us-east-3"
}
],
"origin_type": "vpc",
"ports": [
{
"port_max": 5432,
"port_min": 5432
}
]
}
},
"controlled_by": "",
"locked": false,
"onetime_credentials": false
}
En la respuesta de la API puedes obtener la siguiente información:
last_operationobjeto: muestra la última tarea que has realizado.connectionobjeto: muestra la información de conexión del producto.- La información específica del producto aparece debajo del objeto del producto (por ejemplo,
postgresql).
Cómo configurar tu base de datos
POST /v2/resource_instances
Solicitud de ejemplo:
curl -X POST https://resource-controller.cloud.ibm.com/v2/resource_instances \
-H "Authorization: Bearer <IAM token>" \
-H 'Content-Type: application/json' \
-d '{
"name": "my-instance",
"target": "ca-mon",
"resource_group": "5c49eabc-f5e8-5881-a37e-2d100a33b3df",
"resource_plan_id": "databases-for-postgresql-gen2-standard",
"parameters": {
"dataservices": {
"postgresql": {
"storage_gb": 10,
"members": 2,
"host_flavor": "b3c.8x32.encrypted",
"version": "18"
},
"encryption": {
"disk": "crn:v1..."
},
"$schema": {
"version": "1.0.0"
}
}
}
}'
Parámetros de entrada
name(Cadena)- El nombre de la instancia.target(Cadena)- La región en la que se va a realizar el despliegue (por ejemplo,us-south,eu-de).resource_group(Cadena)- El identificador del grupo de recursos.resource_plan_id(Cadena)- El ID del plan (por ejemplo,databases-for-postgresql-gen2-standard).parameters(Objeto)dataservices(Objeto)<service>(Objeto)- La clave del nombre del servicio (por ejemplo,postgresql,mysql).storage_gb(Número entero)- Tamaño de almacenamiento en GB.members(Número entero)- Número de miembros.host_flavor(Cadena)- El identificador de tipo de host (por ejemplo,b3c.8x32.encrypted).version(Cadena)- La versión de la base de datos (por ejemplo,"18").
encryption(Objeto, opcional)- Configuración del cifrado de disco.disk(Cadena)- CRN de la clave « Key Protect » para el cifrado del disco.
$schema(Objeto)- Metadatos del esquema.version(Cadena)- Versión del esquema; debe ser «"1.0.0"».
Cómo ampliar tu base de datos
PATCH /v2/resource_instances/{id}
Solicitud de ejemplo:
curl -X PATCH https://resource-controller.cloud.ibm.com/v2/resource_instances/ed9d2c9b-444b-421d-bbc0-503ca8dd3036 \
-H "Authorization: Bearer <IAM token>" \
-H 'Content-Type: application/json' \
-d '{
"parameters": {
"dataservices": {
"postgresql": {
"storage_gb": 12,
"members": 2,
"host_flavor": "bxf.4x16"
}
}
}
}'
Parámetros de entrada
parameters(Objeto)dataservices(Objeto)<service>(Objeto)- La clave del nombre del servicio (por ejemplo,postgresql,mysql).storage_gb(Número entero)- Tamaño de almacenamiento en GB.members(Número entero)- Número de miembros.host_flavor(Cadena)- El identificador de tipo de host (por ejemplo,bxf.4x16).