Zum Inhalt springen

STACKIT OpenSearch API verwenden

Zuletzt aktualisiert am

In diesem Tutorial erfahren Sie, wie Sie Service-Instanzen und Service-Zugangsdaten in Ihrem STACKIT-Projekt mithilfe der STACKIT OpenSearch API verwalten.

Um die auf dieser Seite beschriebenen Schritte auszuführen, müssen die folgenden Voraussetzungen erfüllt sein:

API-Aufruf

Terminal-Fenster
curl --location --request GET 'https://opensearch.api.eu01.stackit.cloud/v1/projects/[projectId]/offerings' \

Hier finden Sie die Project ID: Screenshot der Dashboard-Ansicht im STACKIT Portal. Im linken Seitenleisten-Menü unter OVERVIEW ist die Option „Dashboard“ mit einem roten Kasten umrahmt, von dem ein roter Pfeil auf den Hauptinhaltsbereich zeigt. In der Mitte wird unter dem Bereich „Project information“ für ein Projekt namens „STACKIT-Tutorial“ der Wert der „Project ID“ in einem weiteren roten Kasten hervorgehoben, mit einem Kopier-Symbol daneben.

Auszug aus der API-Antwort

{
"offerings": [
{
"description": "OpenSearch is a fully managed search and analytics engine.",
"imageUrl": "data:image/png;base64,iVBORw0...YII=",
"documentationUrl": "",
"quotaCount": 2,
"latest": true,
"name": "OpenSearch 2",
"plans": [
{
"description": "3 Nodes, 1 vCPU, 2 GB RAM, 10 GB Disk",
"id": "9e4eac4b-b03d-4d7b-b01b-6d1224aa2d68",
"name": "stackit-opensearch-1.2.10-replica",
"free": false
},
{
"description": "3 Nodes, 1 vCPU, 4 GB RAM, 10 GB Disk",
"id": "e5fbee3b-8237-415e-a783-3ab25a40eeda",
"name": "stackit-opensearch-1.4.10-replica",
"free": false
},
{
"description": "3 Nodes, 1 vCPU, 4 GB RAM, 50 GB Disk",
"id": "28029780-2e42-41e7-9cc5-9ee15acd95f6",
"name": "stackit-opensearch-1.4.50-replica",
"free": false
},
{
"description": "3 Nodes, 2 vCPUs, 4 GB RAM, 10 GB Disk",
"id": "8fa3d311-a5ff-464f-97cf-29a6fc159dbc",
"name": "stackit-opensearch-2.4.10-replica",
"free": false
},
...
{
"description": "1 Node, 4 vCPUs, 8 GB RAM, 50 GB Disk",
"id": "913780f9-f5e6-4c9b-9e9a-864754fe8005",
"name": "stackit-opensearch-4.8.50-single",
"free": false
}
],
..
]
}

API-Aufruf

Terminal-Fenster
curl --location --request POST 'https://opensearch.api.eu01.stackit.cloud/v1/projects/[projectId]/instances' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer [token]' \
--data-raw '{
"planId": "[planId]",
"instanceName": "[service_instance_name]",
"parameters": {"sgw_acl": "[ip_list]"}
}'

API-Antwort

InstanceId of the created service instance, required for further API calls.
e.g.
{"instanceId":"a8196380-da17-4789-aae6-b452442bef56"}

API-Aufruf

Terminal-Fenster
curl --location --request GET 'https://opensearch.api.eu01.stackit.cloud/v1/projects/[projectId]/instances/[instanceId]' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer [token]' | jq.

API-Aufruf

Terminal-Fenster
curl --location --request DELETE 'https://opensearch.api.eu01.stackit.cloud/v1/projects/[projectId]/instances/[instanceId]' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer [token]'

API-Aufruf

Terminal-Fenster
curl --location --request POST 'https://opensearch.api.eu01.stackit.cloud/v1/projects/[projectId]/instances/[instanceId]/credentials' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer [token]' | jq.

Beispiel einer API-Antwort

{
"id": "acb13963-2e83-4553-aba9-bd62aaf2be5a",
"uri": "https://sed21b412-0.data.eu01.onstackit.cloud:49366",
"raw": {
"credentials": {
"username": "*****",
"password": "*****",
"port": 49366,
"host": "https://sed21b412-0.data.eu01.onstackit.cloud:49366",
"hosts": ["sed21b412-os-0-1.data.eu01.onstackit.cloud"],
"uri": "https://sed21b412-0.data.eu01.onstackit.cloud:49366",
"cacrt": "-----BEGIN CERTIFICATE-----\nMIIFujC.....4ZfJ\n-----END CERTIFICATE-----",
"scheme": "https"
},
"routeServiceUrl": "",
"syslogDrainUrl": ""
}
}

Sie können eines von mehreren API-Test- und Entwicklungstools verwenden, um die Arbeit mit der API komfortabler zu gestalten.

Beispiele hierfür sind:

oder andere Tools. Die meisten Tools unterstützen den Import der OpenAPI-Spezifikation.