ECS:如何使用 API curl 命令

Summary: 如何将应用程序编程接口 (API) curl 命令与 GET 和 PUT 示例配合使用。

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

Instructions

本知识库文章介绍如何使用 curl 命令来使用 ECS API。

在《ECS 管理指南》或《数据访问指南》等用户指南中,提供了通过 curl 命令使用 API 的示例。

这将显示如何在 API 上使用 curl 命令执行 GET 和 PUT。在此示例中,每 KB ECS 的 LDAPS 证书 API:如何在 ECS 上通过 LDAPS 设置和接受所有证书。


Curl 示例 — LDAPS 证书 API 示例:
LDAPS 证书 API 使用管理 IP,不允许 emcmonitor 访问,但允许 root 用户访问。这是 ECS API 用法的一个示例,LDAPS 证书 API 位于 "/vdc/truststore"。您的 API 可能有所不同,并且位于不同的位置。

要检查有关 LDAPS 证书设置的 ECS 设置,请首先获取要使用的节点管理 IP。如果 UI 管理存在网络分离,则”getrackinfo -n“具有”mgmt“值。使用节点 public.mgmt IP 地址,这些步骤不需要复制和数据网络分离:

# 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 地址,检查 UI 管理网络是否与命令分离”getrackinfo -n”。使用 root 用户令牌创建一个令牌变量,如果在新的 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 用户令牌获得对 ECS UI 信任库的 curl 访问权限。有关“添加自定义 LDAP 证书”的详细信息,请参见ECS 管理员指南。在此 ECS API 用法示例中,LDAPS 证书 API 位于 "/vdc/truststore"。您的 API 可能位于不同的位置。

 

Curl GET 示例:

使用 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。这意味着只有与 AD/LDAP 服务器证书匹配的上传的 LDAPS 证书才能受到 ECS 的信任。用户可能希望此设置为 true 或 false,具体取决于他们的需要。要测试 LDAPS 连接,请将其设置为 true 并测试用户可以验证的用户登录。

创建一个 json 文件,以通过带有 json 有效负载的 curl 命令更改信任库设置:

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


python 上的 json.tool 模块可以验证 json 文件格式。如果出现错误,则该文件可能不是 json 文件。在此示例中,没有任何错误,并且输出文件,因此它是格式化的 json 文件:

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

 

Curl PUT 示例:

使用 curl PUT 命令,以 json 文件作为有效负载运行 curl 命令:

# 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
Υπηρεσίες υποστήριξης
Ελέγξτε αν η συσκευή σας καλύπτεται από τις Υπηρεσίες υποστήριξης.