NetWorker: Hvordan lage kommandolinje REST API JSON Response lesbar
Summary: Kommandolinje REST API-svar (Application Programming Interface) er i uformatert JSON, som kan være vanskelig å analysere. Denne kunnskapsartikkelen inneholder metoder for å formatere REST API-svaret til "lesbare" utdata. ...
Instructions
REST (NetWorker Representational State Transfer) API-kall kan utføres fra kommandolinjen på en Linux NetWorker-server ved hjelp av curl kommando. Eksempel:
curl -k -u USERNAME:'PASSWORD' https://localhost:9090/nwrestapi/v3/global/RESTAPI-ENDPOINT
Svarnyttelasten på en GET-operasjon er i JSON. Standardsvaret kan være vanskelig å analysere siden det vanligvis er en gang kontinuerlig linje. Eksempel:
nve:~ # curl -k -u Administrator:'!Password1' https://localhost:9090/nwrestapi/v3/global
{"links":[{"href":"https://localhost:9090/nwrestapi/v3/global/alerts","title":"List of alert messages"},{"href":"https://localhost:9090/nwrestapi/v3/global/auditlogconfig","title":"Audit log configuration"},{"href":"https://localhost:9090/nwrestapi/v3/global/auditlogconfigs","title":"Audit log configurations"},{"href":"https://localhost:9090/nwrestapi/v3/global/backups","title":"List of backups"},{"href":"https://localhost:9090/nwrestapi/v3/global/clients","title":"List of clients"},{"href":"https://localhost:9090/nwrestapi/v3/global/cloudboostappliances","title":"List of cloudboost appliances"},{"href":"https://localhost:9090/nwrestapi/v3/global/datadomainsystems","title":"List of data domain systems"},{"href":"https://localhost:9090/nwrestapi/v3/global/dddevicereplication","title":"DD device replication"},{"href":"https://localhost:9090/nwrestapi/v3/global/devices","title":"List of storage devices"},{"href":"https://localhost:9090/nwrestapi/v3/global/directives","title":"List of backup directives"},{"href":"https://localhost:9090/nwrestapi/v3/global/inspect","title":"Inspect remote/local server"},{"href":"https://localhost:9090/nwrestapi/v3/global/jobgroups","title":"List of job groups"},{"href":"https://localhost:9090/nwrestapi/v3/global/jobindications","title":"List of job indications"},{"href":"https://localhost:9090/nwrestapi/v3/global/jobs","title":"List of jobs"},{"href":"https://localhost:9090/nwrestapi/v3/global/jukeboxes","title":"List of jukeboxes"},{"href":"https://localhost:9090/nwrestapi/v3/global/labels","title":"List of volume label templates"},{"href":"https://localhost:9090/nwrestapi/v3/global/licenseconfig","title":"Server license configuration"},{"href":"https://localhost:9090/nwrestapi/v3/global/licenses","title":"List of license templates"},{"href":"https://localhost:9090/nwrestapi/v3/global/lockbox","title":"Lockbox resource"},{"href":"https://localhost:9090/nwrestapi/v3/global/mediaconfig","title":"Server media configuration"},{"href":"https://localhost:9090/nwrestapi/v3/global/mobilestorageunits","title":"Mobile storage units"},{"href":"https://localhost:9090/nwrestapi/v3/global/nasdevices","title":"List of NAS devices"},{"href":"https://localhost:9090/nwrestapi/v3/global/notifications","title":"List of notification settings"},{"href":"https://localhost:9090/nwrestapi/v3/global/nsrcloneconfig","title":"NSR Clone Configuration"},{"href":"https://localhost:9090/nwrestapi/v3/global/pools","title":"List of pools"},{"href":"https://localhost:9090/nwrestapi/v3/global/probes","title":"List of probes"},{"href":"https://localhost:9090/nwrestapi/v3/global/protectiongroups","title":"List of protection groups"},{"href":"https://localhost:9090/nwrestapi/v3/global/protectionpolicies","title":"List of protection policies"},{"href":"https://localhost:9090/nwrestapi/v3/global/recoverapps","title":"List of recovery applications"},{"href":"https://localhost:9090/nwrestapi/v3/global/recovers","title":"List of recover resources"},{"href":"https://localhost:9090/nwrestapi/v3/global/rules","title":"List of rules"},{"href":"https://localhost:9090/nwrestapi/v3/global/schedules","title":"List of schedules"},{"href":"https://localhost:9090/nwrestapi/v3/global/securityconfig","title":"Server security configuration"},{"href":"https://localhost:9090/nwrestapi/v3/global/serverconfig","title":"Server configuration"},{"href":"https://localhost:9090/nwrestapi/v3/global/servermessages","title":"List of server messages"},{"href":"https://localhost:9090/nwrestapi/v3/global/serverstatistics","title":"Server statistics"},{"href":"https://localhost:9090/nwrestapi/v3/global/sessions","title":"List of save/recover sessions"},{"href":"https://localhost:9090/nwrestapi/v3/global/storagenodes","title":"List of storage nodes"},{"href":"https://localhost:9090/nwrestapi/v3/global/tenants","title":"Restricted data zone protection"},{"href":"https://localhost:9090/nwrestapi/v3/global/timepolicies","title":"List of Time Policies"},{"href":"https://localhost:9090/nwrestapi/v3/global/unconfiguredlibraries","title":"List of unconfigured libraries"},{"href":"https://localhost:9090/nwrestapi/v3/global/usergroups","title":"List of user groups"},{"href":"https://localhost:9090/nwrestapi/v3/global/vmware","title":"View of VMware objects"},{"href":"https://localhost:9090/nwrestapi/v3/global/volumes","title":"List of volumes"}]}
JSON-utgangen er uformatert og kan være vanskelig å analysere. Utdataene kan imidlertid formateres til et lettere å lese "Pretty Print" -format.
For NetWorker Virtual Edition-systemer (NVE) kan du legge til python -m json.tool til curl kommando. Eksempel:
nve:~ # curl -k -u Administrator:'!Password1' https://localhost:9090/nwrestapi/v3/global | python -m json.tool
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 4374 0 4374 0 0 9751 0 --:--:-- --:--:-- --:--:-- 9763
{
"links": [
{
"href": "https://localhost:9090/nwrestapi/v3/global/alerts",
"title": "List of alert messages"
},
{
"href": "https://localhost:9090/nwrestapi/v3/global/auditlogconfig",
"title": "Audit log configuration"
},
{
"href": "https://localhost:9090/nwrestapi/v3/global/auditlogconfigs",
"title": "Audit log configurations"
},
{
"href": "https://localhost:9090/nwrestapi/v3/global/backups",
"title": "List of backups"
},
{
"href": "https://localhost:9090/nwrestapi/v3/global/clients",
"title": "List of clients"
},
******* Removed for brevity *******
]
}
For andre Linux-systemer kan dette oppnås ved å legge til jq til curl kommando:
[root@nsr ~]# curl -k -u Administrator:'!Password1' https://localhost:9090/nwrestapi/v3/global | jq
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 4258 0 4258 0 0 7253 0 --:--:-- --:--:-- --:--:-- 7241
{
"links": [
{
"href": "https://localhost:9090/nwrestapi/v3/global/alerts",
"title": "List of alert messages"
},
{
"href": "https://localhost:9090/nwrestapi/v3/global/auditlogconfig",
"title": "Audit log configuration"
},
{
"href": "https://localhost:9090/nwrestapi/v3/global/auditlogconfigs",
"title": "Audit log configurations"
},
{
"href": "https://localhost:9090/nwrestapi/v3/global/backups",
"title": "List of backups"
},
{
"href": "https://localhost:9090/nwrestapi/v3/global/clients",
"title": "List of clients"
},
******* Removed for brevity *******
]
}
jq ikke er inkludert i NetWorker, er dette et tredjepartsverktøy som kan installeres på systemet. Kontakt systemadministratoren for å installere den jq eller andre JSON-formateringsverktøy etter ønske.
For Windows-verter er det lite sannsynlig å bruke kommandolinje for å oppnå dette. Dette gjøres vanligvis gjennom PowerShell som krever tilleggsfunksjoner, ofte involverer skripting. De fleste Windows-baserte systemer bruker et brukergrensesnitt som Post-Man for å formatere REST API GET-forespørsler.