ЕКС: Як використовувати команду curl API

Summary: Як використовувати команду curl інтерфейсу прикладного програмування (API) з прикладами GET і PUT.

Acest articol se aplică pentru Acest articol nu se aplică pentru Acest articol nu este legat de un produs specific. Acest articol nu acoperă toate versiunile de produs existente.

Instructions

У цій статті знань показано, як використовувати команди curl для використання ECS API.

У посібниках для користувачів, таких як ECS Administration Guide або Data Access Guide, є приклади використання API з командами curl.

Тут показано, як використовувати команду curl для GET та PUT на API. У цьому прикладі API сертифіката LDAPS per KB ECS: Як налаштувати та прийняти всі сертифікати через LDAPS на ECS.


Приклад curl - приклад API сертифіката LDAPS:
API сертифікатів LDAPS використовує IP керування та дозволяє доступ не emcmonitor, а користувач root. Це приклад використання ECS API, API сертифіката LDAPS знаходиться в "/vdc/truststore". Ваш API може бути іншим і знаходитися в іншому місці.

Щоб перевірити параметри ECS щодо параметрів сертифіката LDAPS, спочатку отримайте IP-адресу для керування вузлами. Якщо є поділ мережі для керування інтерфейсом користувача, «getrackinfo -n" має значення "mgmt". Використовуйте IP-адресу вузлів public.mgmt, реплікація та поділ мережі передачі даних не потрібні для цих кроків:

# 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

Якщо на VDC немає поділу мережі public.mgmt, використовуйте замість цього публічну IP-адресу вузла. Зверніть увагу, що адреса поділу мережі public.mgmt має пріоритет, якщо вона встановлена.

# 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

Використовуйте отриману керуючу IP-адресу для отримання токена користувача root, пароль користувача root обов'язковий:

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

Приклад:

# 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

Якщо на виході не "HTTP/1.1 200 OK", перевірте пароль та IP-адресу, перевірте, чи існує поділ мережі керування інтерфейсом користувача від команди "getrackinfo -n". За допомогою кореневого токена користувача створіть змінну токена, дійсний токен повинен бути оновлений, якщо в новому сеансі CLI:

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

Щоб перевірити значення токена, ви можете виконати команду curl:

# 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>

Метою вищезазначених кроків є використання токена користувача root для отримання доступу curl до сховища довіри ECS UI. Зверніться до посібника з адміністрування ECS для отримання додаткової інформації про «Додати власний сертифікат LDAP». У цьому прикладі використання ECS API сертифіката LDAPS знаходиться у файлі "/vdc/truststore". Ваш API може знаходитися в іншому місці.

 

Приклад завивки GET:

Отримайте налаштування truststore за допомогою команди curl GET:

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

Приклад:

# 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}


У наведеному вище прикладі сховище довіри "accept_all_certificates" встановлено значення false. Це означає, що ECS може довіряти лише завантажені сертифікати LDAP, які відповідають сертифікату сервера AD/LDAP. Користувач може захотіти, щоб цей набір був true або false, залежно від його потреб. Щоб перевірити з'єднання LDAPS, встановіть для нього значення true і перевірте логін користувача.

Створіть json-файл, щоб змінити налаштування truststore за допомогою команди curl із корисним навантаженням json:

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


Модуль json.tool на python може перевіряти формат файлу json. Якщо сталася помилка, можливо, файл не є файлом json. У цьому прикладі помилки немає і виводить файл, тому це форматований json-файл:

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

 

Приклад Curl PUT:

Запустіть команду curl з файлом json як корисним навантаженням з командою curl PUT:

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

Щоб перевірити, що він оновився, виконайте команду curl GET:

# 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}

Produse afectate

ECS

Produse

ECS Appliance
Proprietăți articol
Article Number: 000194272
Article Type: How To
Ultima modificare: 04 nov. 2025
Version:  4
Găsiți răspunsuri la întrebările dvs. de la alți utilizatori Dell
Servicii de asistență
Verificați dacă dispozitivul dvs. este acoperit de serviciile de asistență.