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

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

Αυτό το άρθρο ισχύει για Αυτό το άρθρο δεν ισχύει για Αυτό το άρθρο δεν συνδέεται με κάποιο συγκεκριμένο προϊόν. Δεν προσδιορίζονται όλες οι εκδόσεις προϊόντων σε αυτό το άρθρο.

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}

Επηρεαζόμενα προϊόντα

ECS

Προϊόντα

ECS Appliance
Ιδιότητες άρθρου
Article Number: 000194272
Article Type: How To
Τελευταία τροποποίηση: 04 Νοε 2025
Version:  4
Βρείτε απαντήσεις στις ερωτήσεις σας από άλλους χρήστες της Dell
Υπηρεσίες υποστήριξης
Ελέγξτε αν η συσκευή σας καλύπτεται από τις Υπηρεσίες υποστήριξης.