ECS. Как использовать команду curl API

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

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

Instructions

В этой статье базы знаний показано, как использовать команды curl для использования API ECS.

В руководствах пользователя, таких как «Руководство по администрированию ECS» или «Руководство по доступу к данным», приведены примеры использования API с командами curl.

Здесь показано, как использовать команду curl для GET и PUT в API. В этом примере API сертификата LDAPS для каждой KB ECS: Настройка и принятие всех сертификатов через LDAPS в ECS.


Пример Curl — пример API сертификата LDAPS:
API сертификатов LDAPS использует IP-адрес управления и разрешает доступ не emcmonitor, а пользователю root. Это пример использования API ECS, 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

Если на виртуальном ЦОД нет разделения сети 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». С помощью токена пользователя root создайте переменную токена. Допустимый токен необходимо обновить, если в новом сеансе интерфейса командной строки:

# 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. Дополнительные сведения по разделу «Добавление пользовательского сертификата LDAP» см. в руководстве администратора ECS. В данном примере API сертификата ECS API сертификата LDAPS находится в папке "/vdc/truststore". Ваш API может находиться в другом месте.

 

Пример GET с помощью curl:

Получите параметры хранилища доверенных сертификатов с помощью команды GET curl:

# 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 может доверять только загруженным сертификатам LDAPS, которые соответствуют сертификату сервера AD/LDAP. Пользователь может захотеть установить для этого параметра значение «истина» или «ложь» в зависимости от его потребностей. Чтобы протестировать подключение LDAPS, можно установить для него значение true и протестировать вход пользователей в систему.

Создайте файл json, чтобы изменить параметры хранилища доверенных сертификатов с помощью команды 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
Υπηρεσίες υποστήριξης
Ελέγξτε αν η συσκευή σας καλύπτεται από τις Υπηρεσίες υποστήριξης.