ECS: So verwenden Sie den API-Befehl curl

Riepilogo: Verwendung des cURL-Befehls (Application Programming Interface) mit GET- und PUT-Beispielen.

Questo articolo si applica a Questo articolo non si applica a Questo articolo non è legato a un prodotto specifico. Non tutte le versioni del prodotto sono identificate in questo articolo.

Istruzioni

In diesem Wissensdatenbank-Artikel wird gezeigt, wie Sie curl-Befehle für die ECS-API-Nutzung verwenden.

In den Benutzerhandbüchern wie dem ECS-Administrationshandbuch oder dem Datenzugriffshandbuch finden Sie Beispiele für die API-Nutzung mit curl-Befehlen.

Hier wird gezeigt, wie Sie den Befehl curl für GET und PUT auf einer API verwenden. In diesem Beispiel die LDAPS-Zertifikat-API pro KB ECS: Anleitung zum Einrichten und Akzeptieren aller Zertifikate über LDAPS auf ECS.


Curl-Beispiel – Beispiel für LDAPS-Zertifikat-API:
Die LDAPS-Zertifikat-API verwendet die Management-IP und erlaubt keinen emcmonitor-Zugriff, sondern stattdessen den Root-Nutzer. Dies ist ein Beispiel für die ECS-API-Nutzung. Die LDAPS-Zertifikat-API befindet sich im "/vdc/truststore". Ihre API kann eine andere sein und sich an einem anderen Speicherort befinden.

Um die ECS-Einstellungen in Bezug auf die LDAPS-Zertifikateinstellungen zu prüfen, ermitteln Sie zunächst eine Node-Management-IP. Wenn für das UI-Management eine Netzwerktrennung vorhanden ist, wird das Symbol "getrackinfo -n" hat "mgmt"-Werte. Verwenden Sie die öffentliche .mgmt-IP-Adresse der Nodes, die Replikation und die Trennung des Datennetzwerks sind für diese Schritte nicht erforderlich:

# getrackinfo -n
Named networks
==============
Node ID       Network          Ip Address        Netmask            Gateway            VLAN               Interface
1            repl              10.xxx.xxx.11     255.255.254.0      xxx.xxx.xxx.xxx    14                 public
1            mgmt              10.xxx.xxx.21     255.255.254.0      xxx.xxx.xxx.xxx    13                 public
1            data              10.xxx.xxx.31     255.255.254.0      xxx.xxx.xxx.xxx    15                 public
2            repl              10.xxx.xxx.12     255.255.254.0      xxx.xxx.xxx.xxx    14                 public
2            mgmt              10.xxx.xxx.22     255.255.254.0      xxx.xxx.xxx.xxx    13                 public
2            data              10.xxx.xxx.32     255.255.254.0      xxx.xxx.xxx.xxx    15                 public
3            repl              10.xxx.xxx.13     255.255.254.0      xxx.xxx.xxx.xxx    14                 public
3            mgmt              10.xxx.xxx.23     255.255.254.0      xxx.xxx.xxx.xxx    13                 public
3            data              10.xxx.xxx.33     255.255.254.0      xxx.xxx.xxx.xxx    15                 public
4            repl              10.xxx.xxx.14     255.255.254.0      xxx.xxx.xxx.xxx    14                 public
4            mgmt              10.xxx.xxx.24     255.255.254.0      xxx.xxx.xxx.xxx    13                 public
4            data              10.xxx.xxx.34     255.255.254.0      xxx.xxx.xxx.xxx    15                 public

Wenn auf dem VDC keine Netzwerktrennung von public.mgmt vorhanden ist, verwenden Sie stattdessen die öffentliche IP-Adresse des Node. Beachten Sie, dass die Netzwerktrennungsadresse public.mgmt Vorrang hat, falls festgelegt.

# getrackinfo
Node private      Node              Public                                  BMC
Ip Address        Id       Status   Mac                 Ip Address          Mac                 Ip Address          Node Name
===============   ======   ======   =================   =================   =================   =================   =========
192.1XX.2XX.1     1        MA       a4:bf:xx:xx:xx:74   10.xx.xx.1          a4:bf:xx:xx:xx      192.1XX.2XX.101     provo-red
192.1XX.2XX.2     2        SA       a4:bf:xx:xx:xx:c8   10.xx.xx.2          a4:bf:xx:xx:xx      192.1XX.2XX.102     sandy-red
192.1XX.2XX.3     3        SA       a4:bf:xx:xx:xx:e0   10.xx.xx.3          a4:bf:xx:xx:xx      192.1XX.2XX.103     orem-red
192.1XX.2XX.4     4        SA       a4:bf:xx:xx:xx:56   10.xx.xx.4          a4:bf:xx:xx:xx      192.168.219.104     ogden-red

Verwenden Sie die erworbene Management-IP-Adresse, um das Root-Nutzertoken zu erhalten. Das Root-Nutzerkennwort ist erforderlich:

# curl -s -k -v -u root https://<NodeManagementIP>:4443/login 2>&1

Beispiel:

# curl -s -k -v -u root https://10.xxx.xxx.21:4443/login 2>&1
Enter host password for user 'root':
......

< HTTP/1.1 200 OK
< Date: Thu, 14 Jan 2021 13:51:24 GMT
< Content-Type: application/xml
< Content-Length: 93
< Connection: keep-alive
< X-SDS-AUTH-TOKEN: BAAcdWhGbnVRVjd1WlpmR0xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxAgAC0A8=
< X-SDS-AUTH-USERNAME: root
< X-SDS-AUTH-MAX-AGE: 28800
<
* Connection #0 to host 10.xxx.xxx.21 left intact
root

Wenn die Ausgabe nicht "HTTP/1.1 200 OK" ist, überprüfen Sie das Kennwort und die IP-Adresse und überprüfen Sie, ob eine Trennung vom UI-Managementnetzwerk über den Befehl "getrackinfo -n“. Erstellen Sie mit dem Root-Nutzertoken eine Tokenvariable. In einer neuen CLI-Sitzung muss ein gültiges Token aktualisiert werden:

# export TOKEN='X-SDS-AUTH-TOKEN: BAAcdWhGbnVRVjd1WlpmR0xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxAgAC0A8='

Um den Wert des Tokens zu testen, können Sie einen curl-Befehl ausführen:

# curl -k -X GET -H "$TOKEN"  https://10.xxx.xxx.21:4443/object/capacity  | xmllint --format -        
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                               Dload  Upload   Total   Spent    Left  Speed
100   176  100   176    0     0    249      0 --:--:-- --:--:-- --:--:--   250

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<cluster_capacity>
  <totalFree_gb>100657</totalFree_gb>
  <totalProvisioned_gb>447005</totalProvisioned_gb>
</cluster_capacity>

Der Zweck der obigen Schritte besteht darin, das Root-Nutzertoken zu verwenden, um Curl-Zugriff auf den ECS-UI-Truststore zu erhalten. Weitere Informationen zum Hinzufügen eines nutzerdefinierten LDAP-Zertifikats finden Sie im ECS-Administratorhandbuch. In diesem Beispiel für die ECS-API-Nutzung befindet sich die LDAPS-Zertifikat-API im "/vdc/truststore". Ihre API befindet sich möglicherweise an einem anderen Speicherort.

 

Beispiel für Curl GET:

Rufen Sie die Truststore-Einstellungen mit einem curl GET-Befehl ab:

# curl -s -k -X GET -H Content-Type:application/json -H "$TOKEN" -H ACCEPT:application/json https://<NodeManagementIP>:4443/vdc/truststore/settings

Beispiel:

# curl -s -k -X GET -H Content-Type:application/json -H "$TOKEN" -H ACCEPT:application/json https://10.xxx.xxx.21:4443/vdc/truststore/settings
{"accept_all_certificates":false}


Im obigen Beispiel ist der Truststore "accept_all_certificates" auf false festgelegt ist. Das bedeutet, dass nur hochgeladene LDAPS-Zertifikate, die mit einem AD/LDAP-Serverzertifikat übereinstimmen, von ECS als vertrauenswürdig eingestuft werden können. Ein Benutzer möchte dies je nach Bedarf auf true oder false setzen. Um die LDAPS-Verbindung zu testen, können Sie sie auf "true" festlegen und die Nutzeranmeldung testen.

Erstellen Sie eine JSON-Datei, um die Truststore-Einstellungen mit einem curl-Befehl mit einer JSON-Payload zu ändern:

# sudo vi truststoresettings.json
# sudo cat truststoresettings.json
{"accept_all_certificates": "true"}


Das json.tool-Modul auf Python kann ein JSON-Dateiformat validieren. Wenn ein Fehler auftritt, ist die Datei möglicherweise keine JSON-Datei. In diesem Beispiel tritt kein Fehler auf und die Datei wird als formatierte JSON-Datei ausgegeben:

# python -m json.tool truststoresettings.json
{
    "accept_all_certificates": "true"
}

 

Beispiel für Curl PUT:

Führen Sie einen curl-Befehl mit einer JSON-Datei als Payload mit einem curl PUT-Befehl aus:

# curl -s -k -X PUT -H Content-Type:application/json -H "$TOKEN" -H ACCEPT:application/json https://:4443/vdc/truststore/settings -d @truststoresettings.json

Um zu überprüfen, ob er aktualisiert wurde, führen Sie den curl GET-Befehl aus:

# curl -s -k -X GET -H Content-Type:application/json -H "$TOKEN" -H ACCEPT:application/json https://10.xxx.xxx.21:4443/vdc/truststore/settings
{"accept_all_certificates":true}

Prodotti interessati

ECS

Prodotti

ECS Appliance
Proprietà dell'articolo
Numero articolo: 000194272
Tipo di articolo: How To
Ultima modifica: 04 nov 2025
Versione:  4
Trova risposta alle tue domande dagli altri utenti Dell
Support Services
Verifica che il dispositivo sia coperto dai Servizi di supporto.