Cloud Databases API

Gen 2

Die „ Cloud Databases “-API nutzt für ihre Abläufe in der Regel die Resource-Controller-API. Nutzen Sie diese API-Dokumentation, um mit Ihren Datendiensten zu arbeiten.

Authentifizierung

Der Zugriff auf die API erfolgt über eine Token-Authentifizierung unter Verwendung des Headers „ Authorization: Bearer <token> “. Das Token muss von IAM ausgestellt worden sein. Sie können einen IAM-API-Schlüssel direkt als Token übermitteln oder den API-Schlüssel verwenden, um ein IAM-Bearer-Token zu generieren.

Um die einzelnen Methoden aufrufen zu können, muss Ihnen eine Rolle zugewiesen sein, die die erforderlichen IAM-Aktionen umfasst. Jede Methode listet die zugeordnete Aktion auf. Weitere Informationen zu IAM-Aktionen und ihrer Zuordnung zu Rollen finden Sie unter Zugriff für IBM Cloud® verwalten.

Fehlerbehandlung

Die API verwendet die Standard-Antwortcodes der „ HTTP “, um anzuzeigen, ob eine Methode erfolgreich ausgeführt wurde. Eine Antwort vom Typ „ 200 “ bedeutet immer, dass der Vorgang erfolgreich war. Eine Antwort vom Typ „ 4xx “ ist eine Art Fehler, und eine Antwort vom Typ „ 500 “ weist in der Regel auf einen internen Systemfehler hin. Jede dieser Antworten kann von einem im JSON-Format gestalteten Hauptteil begleitet sein, der detailliertere Fehlerinformationen enthält.

Ereignisverfolgung

Sie können die API-Aktivitäten in Ihrem Konto mithilfe des IBM Cloud® Activity Tracker Dienst. Jedes Mal, wenn eine API-Methode aufgerufen wird, wird ein Ereignis generiert, das Sie anschließend unter Activity Tracker nachverfolgen und überprüfen können. Der jeweilige Ereignistyp wird für jede einzelne Methode angegeben.

Bereitstellungs-IDs und CRNs

Bereitstellungs-IDs sind CRNs auf der Cloud Data Services-Plattform. Wenn Sie die CRN verwenden, denken Sie daran, den CRN-Wert URL zu kodieren, da er möglicherweise das Zeichen „Schrägstrich“ (/) %2F enthält.

Beispiel: Die folgende CRN

crn:v1:bluemix:public:databases-for-redis:us-south:a/274074dce64e9c423ffc238516c755e1:29caf0e7-120f-4da8-9551-3abf57ebcfc7::

sieht bei der „ URL “-Kodierung wie folgt aus.

crn:v1:bluemix:public:databases-for-redis:us-south:a%2F274074dce64e9c423ffc238516c755e1:29caf0e7-120f-4da8-9551-3abf57ebcfc7::

Seitenaufteilung

Derzeit gibt kein Endpunkt paginierte Daten zurück.

Durchsatzbegrenzung

Derzeit implementiert kein Endpunkt eine Ratenbegrenzung.

Methoden

Alle bereitgestellten Produkte auflisten

Gibt eine Liste aller bereitgestellten Cloud-Dienste zurück.

GET /v2/resource_instances

Beispielanforderung:

curl -X GET https://resource-controller.cloud.ibm.com/v2/resource_instances -H "Authorization: Bearer <IAM token>"

Beispielantwort:

{
  "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
    }
  ]
}

Weitere Ressourcenobjekte werden im Array „ resources “ zurückgegeben. Verwenden Sie das Token „ next_url “, um die nächste Seite mit Ergebnissen abzurufen.

Informationen zur Bereitstellung abrufen

Ruft die vollständigen Daten ab, die mit einer Bereitstellung verknüpft sind. Diese Daten umfassen die ID, den Namen, den Datenbanktyp und die Version.

GET /v2/resource_instances/{id}

Beispielanforderung:

curl -X GET https://resource-controller.cloud.ibm.com/v2/resource_instances/95004d03-9fec-443b-9f6e-083f2b25e73a -H "Authorization: Bearer <IAM token>" \

Beispielantwort:

{
	"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
}

Aus der API-Antwort können Sie folgende Informationen entnehmen:

  • last_operation Objekt – Zeigt die zuletzt von Ihnen ausgeführte Aufgabe an.
  • connection Objekt – Zeigt Informationen zur Produktverbindung an.
  • Produktspezifische Informationen werden unter dem Produktobjekt angezeigt (zum Beispiel postgresql).

So richten Sie Ihre Datenbank ein

POST /v2/resource_instances

Beispielanforderung:

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"
        }
      }
    }
  }'

Eingabeparameter

  • name (Zeichenkette) – Der Name der Instanz.
  • target (Zeichenkette) – Die Region, in der die Bereitstellung erfolgen soll (z. B. us-south, eu-de).
  • resource_group (Zeichenkette) – Die ID der Ressourcengruppe.
  • resource_plan_id (Zeichenkette) – Die Plan-ID (zum Beispiel databases-for-postgresql-gen2-standard).
  • parameters (Objekt)
    • dataservices (Objekt)
      • <service> (Objekt) – Der Schlüssel für den Dienstnamen (z. B. postgresql, mysql).
        • storage_gb (Ganzzahl) – Speichergröße in GB.
        • members (Ganzzahl) – Anzahl der Mitglieder.
        • host_flavor (Zeichenkette) – Die Host-Flavor-ID (zum Beispiel b3c.8x32.encrypted).
        • version (Zeichenkette) – Die Datenbankversion (z. B. "18").
      • encryption (Objekt, optional) – Einstellungen für die Festplattenverschlüsselung.
        • disk (Zeichenkette) – CRN des Schlüssels „ Key Protect “ für die Festplattenverschlüsselung.
      • $schema (Objekt) – Schema-Metadaten.
        • version (Zeichenkette) – Schemaversion, muss „ "1.0.0" “ lauten.

So skalieren Sie Ihre Datenbank

PATCH /v2/resource_instances/{id}

Beispielanforderung:

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"
        }
      }
    }
  }'

Eingabeparameter

  • parameters (Objekt)
    • dataservices (Objekt)
      • <service> (Objekt) – Der Schlüssel für den Dienstnamen (z. B. postgresql, mysql).
        • storage_gb (Ganzzahl) – Speichergröße in GB.
        • members (Ganzzahl) – Anzahl der Mitglieder.
        • host_flavor (Zeichenkette) – Die Host-Flavor-ID (zum Beispiel bxf.4x16).