ECS: Cómo usar el comando curl de API

Summary: Cómo utilizar el comando curl de la interfaz de programación de aplicaciones (API) con ejemplos GET y PUT.

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

Instructions

En este artículo de la base de conocimientos, se muestra cómo utilizar los comandos curl para el uso de la API de ECS.

En las guías del usuario, como la Guía de administración de ECS o la Guía de acceso a datos, hay ejemplos del uso de la API con comandos curl.

Esto muestra cómo usar el comando curl para GET y PUT en una API. En este ejemplo, la API de certificado de LDAPS por KB ECS: Cómo configurar y aceptar todos los certificados a través de LDAPS en ECS.


Ejemplo de Curl: Ejemplo de API de certificado LDAPS:
La API de certificados LDAPS utiliza la IP de administración y no permite el acceso a emcmonitor, sino al usuario raíz. Este es un ejemplo del uso de la API de ECS, la API de certificado de LDAPS se encuentra en la "/vdc/truststore". Su API puede ser diferente y estar en una ubicación diferente.

Para examinar la configuración de ECS con respecto a la configuración del certificado LDAPS, primero obtenga una IP de administración de nodos para utilizar. Si hay una separación de red para la administración de la interfaz del usuario, la opción "getrackinfo -n" tiene valores "mgmt". Utilice la dirección IP public.mgmt de los nodos, la replicación y la separación de la red de datos no son necesarias para estos pasos:

# 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

Si no hay una separación de red public.mgmt en el VDC, utilice la dirección IP pública del nodo en su lugar. Tenga en cuenta que la dirección de separación de red public.mgmt tiene prioridad si se establece.

# 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

Utilice la dirección IP de administración adquirida para obtener el token de usuario raíz; se necesita una contraseña de usuario raíz:

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

Ejemplo:

# 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

Si el resultado no es "HTTP/1.1 200 OK", compruebe la contraseña y la dirección IP, y compruebe si existe una separación de la red de administración de la interfaz de usuario desde el comando "getrackinfo -n". Con el token de usuario raíz, cree una variable de token. Se debe actualizar un token válido si se encuentra en una nueva sesión de la CLI:

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

Para probar que el token es un valor, puede ejecutar un comando 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>

El propósito de los pasos anteriores es usar el token de usuario raíz para obtener acceso curl al almacén de confianza de la interfaz del usuario de ECS. Consulte la guía de administración de ECS para obtener más información sobre "Add custom LDAP certificate". En este ejemplo de uso de la API de ECS, la API de certificado de LDAPS se encuentra en la "/vdc/truststore". Es posible que su API esté en una ubicación diferente.

 

Ejemplo de GET de curl:

Obtenga la configuración de truststore con un comando GET curl:

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

Ejemplo:

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


En el ejemplo anterior, el truststore "accept_all_certificates" está configurado en false. Esto significa que solo los certificados LDAPS cargados que coincidan con un certificado del servidor AD/LDAP pueden ser de confianza para ECS. Es posible que un usuario desee que esta configuración se configure en verdadero o falso según sus necesidades. Para probar la conexión LDAPS, configurarla en verdadero y probar el inicio de sesión de los usuarios puede validar.

Cree un archivo json para cambiar la configuración del almacén de confianza mediante un comando curl con una carga útil json:

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


El módulo json.tool en Python puede validar un formato de archivo json. Si hay un error, es posible que el archivo no sea un archivo json. En este ejemplo, no hay ningún error y genera el archivo, por lo que es un archivo json con formato:

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

 

Ejemplo de PUT de curl:

Ejecute un comando curl con un archivo json como la carga útil con un comando 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

Para comprobar que esté actualizado, ejecute el comando 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
Υπηρεσίες υποστήριξης
Ελέγξτε αν η συσκευή σας καλύπτεται από τις Υπηρεσίες υποστήριξης.