Data Domain: Slik bruker du innebygd REST API for DD og DDMC

Riepilogo: Både Data Domain (DD) (fysisk og virtuell) og PowerProtect DD Management Center (DDMC)-installasjoner leveres med en innebygd REST-tjeneste. Kunder kan bruke den til å bygge sine egne programmer for å samhandle med DD-er og DDMC-er. ...

Questo articolo si applica a Questo articolo non si applica a Questo articolo non è legato a un prodotto specifico. Non tutte le versioni del prodotto sono identificate in questo articolo.

Istruzioni

Den nyeste dokumentasjonen finner du på https://developer.dell.com/apis/products/data-protection.

Både DD-er og DDMC-er kom som standard med en nettbasert REST-API aktivert. En REST API er en måte å samhandle programmatisk med DD-er og DDMC-er. Denne artikkelen bruker eksempler på DD-er fra nå av ved hjelp av en enkel klient- og serverprotokoll. HTTP-protokollen beholder ingen tilstand, og lar en klient lese tilstand fra DD-ene og kjøre kommandoer med spesiallagde HTTP-kall.

Fra kommandolinjen informerer følgende kommando om statusen for den webbaserte REST API-tjenesten (web-service):

# adminaccess show
Service       Enabled   Allowed Hosts
-----------   -------   ---------------------
ssh           yes       -
scp           yes       (same as ssh)
telnet        no        DD3300.example.com
                        DD3300.example.com
ftp           no        DD3300.example.com
                        DD3300.example.com
ftps          yes       -
http          yes       -
https         yes       -
web-service   yes       N/A
-----------   -------   ---------------------
...

 


Siden REST-API-en betjenes fra de samme portene som brukergrensesnittet, er det ikke mulig å deaktivere den separat. Dette utgjør ingen sikkerhetsrisiko da alle forespørsler til API-et må autentiseres, på samme måte som forespørsler til brukergrensesnittet eller CLI

.Den beste måten å komme i gang med REST API på, er å bruke den medfølgende klienten på hver DD og DDMC. Den kan nås på følgende sted:

https://DD_OR_DDMC_IP_ADDRESS/api/

 

Dette presenterer en side med lenker til flere viktige ressurser, nemlig:

  • API-dokumentasjon: Detaljert liste over alle tilgjengelige API-kall som støttes av DD eller DDMC
  • REST-testklient: Test API-kallene fra selve DD-webgrensesnittet


API-dokumentasjonen er alt en programmerer må bruke for å utnytte DD REST API til å bygge programmer på toppen av DD. 

DD-godkjenning kreves for å bruke API-en. To opplysninger er nødvendig:

  • X-DD-AUTH-TOKEN: En informasjonskapsel som DD gir ved vellykket autentisering og må brukes som autentisator for ytterligere forespørsler.
  • X-DD-UUID: Den unike DD-identifikatoren som skal brukes for (de fleste) forespørsler til API-en. Merk for en enkelt DD kan dette se overflødig ut, men det er helt klart nødvendig for DDMC-er, der en individuell DD kan velges.



Hvis du vil godkjenne mot DD, bruker du metoden "/rest/v1.0/auth". For å gjøre dette fra en vert med "curl" installert og nettverkstilgang til DD, og utstede forespørselen som følger:

# curl --include --insecure -X 'POST' --header 'Content-Type: application/json' --header 'Accept: application/text' -d '{ "auth_info":{ "username":"sysadmin","password":"SomePass" } }' 'https://DD_OR_DDMC_IP_ADDRESS:3009/rest/v1.0/auth'

 

Noen kommentarer om kommandolinjen kjørt ovenfor følger:

  • Alternativ "--include" er nødvendig, siden noen av spørringssvarene kommer tilbake som HTTP-svarkoder, ikke som en del av brødteksten
  • Alternativ "--insecure" er nødvendig når curl er konfigurert til å kontrollere serverens CA-sertifikat mot en liste over kjente og pålitelige CA-instanser. Siden REST TEST-klienten som følger med DD, ikke legger til dette alternativet, men det må brukes til å bekrefte CA-sertifikatene, ellers kjøres alle kommandoene fra testklienten mislykkes (undefinedERROR Text Status: error). Hvis du prøver å kjøre et eksempel "curl" fra kommandolinjen i stedet, vil feilen være:
curl: (60) SSL certificate problem: self signed certificate in certificate chain
More details here: https://curl.haxx.se/docs/sslcerts.html

curl failed to verify the legitimacy of the server and therefore could not
establish a secure connection to it. To learn more about this situation and
how to fix it, please visit the web page mentioned above.

 

  • Vi bruker HTTP-metoden "POST". Hver API-metode har sin egen metode, som er tydelig fremhevet i dokumentasjonen.
  • "--header"-alternativene brukes til å sende HTTP-nivåoverskrifter eller -alternativer til den kalt DD
  • "-d" sender hoveddelen av forespørselen til DD, i dette tilfellet brukernavnet og passordet
  • Til slutt kalles URI-en som kaller den spesifikke godkjenningsmetoden, som den siste parameteren (https://DD_OR_DDMC_IP_ADDRESS:3009/rest/v1.0/auth). Når vi bruker HTTPS, reiser legitimasjon kryptert over ledningen. Mens dokumentene og den innebygde testklienten åpnes via port 443, er inngangspunktet for REST API-tjenesten på port 3009 og må bruke HTTPS (ikke HTTP) for å fungere



Svaret på autentiseringsspørringen ovenfor vises nedenfor:

HTTP/1.1 201 Created
Content-Type: application/json
Content-Length: 112
X-DD-AUTH-TOKEN: 434f1d6dc1528bb8d3ad66c70dc7f74f9
X-DD-UUID: 7850d7a24f93f502:1346d63c57821e38
Access-Control-Allow-Credentials: true
Cache-Control: no-cache
Server: Data Domain OS
Access-Control-Expose-Headers: AUTHORIZATION, X-DD-AUTH-TOKEN, X-DD-JSON-RESPONSE-WITH-ROOT, X-DD-PEER-USERNAME

{"service_status": {"details": "success", "code": 0, "link": [{"rel": "related", "href": "/rest/v1.0/system"}]}}

 

Alt før den tomme linjen er HTTP-overskrifter sendt i svaret. Innhold etter er responsorganet, som i dette tilfellet informerer om suksess. For denne metoden er de viktigste dataene:

  • X-DD-AUTH-TOKEN (434f1d6dc1528bb8d3ad66c70dc7f74f9) Dette er et midlertidig godkjenningstoken som kan brukes i en gitt tidsperiode til å godkjenne videre operasjoner
  • X-DD-UUID (7850d7a24f93f502:1346d63c57821e38) ID-en for DD det blir bedt om, som må brukes for senere forespørsler


For ytterligere forespørsler må vi bruke disse verdiene. La oss for eksempel si at vi ønsker å finne ut informasjon for et DD-filsystem. Gå til "API-dokumentasjon" for å finne samtalen som passer best for våre behov, som i skjermbildet nedenfor:


Lokal API-dokumentasjon for systemet

Etter å ha sjekket de nødvendige parametrene, kan vi bygge forespørselen som nedenfor.  Merk at i dette tilfellet kjører vi en forespørselstype "GET" i stedet for en "POST", for eksempel godkjenningsmetoden:

# curl --include --insecure -X 'GET' --header 'Content-Type: application/json' --header 'Accept: application/text' --header 'X-DD-AUTH-TOKEN:434f1d6dc1528bb8d3ad66c70dc7f74f9' 'https://DD_OR_DDMC_IP_ADDRESS:3009/rest/v1.0/dd-systems/7850d7a24f93f502%3A1346d63c57821e38/file-systems'

 

Men vi får følgende svar, som indikerer enten autentiseringstokenet er ugyldig eller har utløpt:

{"details": "**** Authentication token \"434f1d6dc1528bb8d3ad66c70dc7f74f9\" is invalid.", "code": 5427, "link": [{"rel": "self", "href": "/rest/v1.0/auth"}]}

 

Vi må generere et nytt godkjenningstoken for å kjøre spørringen og få de tiltenkte resultatene, for eksempel:

# curl --include --insecure -X GET --header 'Accept: application/json' --header 'X-DD-AUTH-TOKEN: 178a7b8f337ce3027acdcd889ed10446c' 'https://DD_OR_DDMC_IP_ADDRESS:3009/rest/v1.0/dd-systems/7850d7a24f93f502%3A1346d63c57821e38/file-systems'
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1123
X-DD-AUTH-TOKEN: 178a7b8f337ce3027acdcd889ed10446c
X-DD-UUID: 7850d7a24f93f502:1346d63c57821e38
Access-Control-Allow-Credentials: true
Cache-Control: no-cache
Server: Data Domain OS
Access-Control-Expose-Headers: AUTHORIZATION, X-DD-AUTH-TOKEN, X-DD-JSON-RESPONSE-WITH-ROOT, X-DD-PEER-USERNAME

{"hostname": "DD3300.example.com", "fs_status": "sn_enabled", "fs_clean_status": "inactive", "fs_cleaning_info": {"filesys_clean_info": {"cleaning_status": "inactive", "cleaning_dates": {"start_epoch": 1663879075, "end_epoch": 1663879131, "success_epoch": 1663679711}, "is_aborted": true, "abort_reason": "Cleaning was aborted by user.", "throttle": 50, "schedule": {"occurrence": "weekly", "days": ["Tue"], "time": "0600"}}, "cloud_clean_info": {"cleaning_status": "inactive", "cleaning_dates": {}, "is_aborted": false, "throttle": 50, "frequency": 0}}, "fs_uptime_secs": 344738, "fs_options": [{"key": "local-compression-type", "value": "gz"}, {"key": "marker-type", "value": "auto"}, {"key": "report-replica-as-writable", "value": "disabled"}, {"key": "staging-reserve", "value": "5% = 4271.2 GiB percent of total space"}, {"key": "warning-space-usage", "value": "90"}, {"key": "critical-space-usage", "value": "95"}], "link": [{"rel": "self", "href": "/rest/v1.0/dd-systems/7850d7a24f93f502%3A1346d63c57821e38/file-systems"}, {"rel": "parent", "href": "/rest/v1.0/dd-systems/7850d7a24f93f502%3A1346d63c57821e38"}]}


Utdata i svarlegemet sendes til innringeren i JSON-format, som er standarden.

Prodotti interessati

Data Domain
Proprietà dell'articolo
Numero articolo: 000203754
Tipo di articolo: How To
Ultima modifica: 30 lug 2026
Versione:  3
Trova risposta alle tue domande dagli altri utenti Dell
Support Services
Verifica che il dispositivo sia coperto dai Servizi di supporto.