Data Domain: DD ve DDMC için yerleşik REST API'yi kullanma

Riepilogo: Hem Data Domain (DD) (fiziksel ve sanal) hem de PowerProtect DD Yönetim Merkezi (DDMC) kurulumları, yerleşik bir REST hizmetiyle birlikte gelir. Müşteriler bunu, DD'ler ve DDMC'lerle etkileşim kurmak üzere kendi uygulamalarını oluşturmak için kullanabilir. ...

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

En son belgeler https://developer.dell.com/apis/products/data-protection adresinde bulunabilir.

Hem DD'ler hem de DDMC'ler varsayılan olarak web tabanlı bir REST API etkinleştirilmiş olarak geldi. REST API, DD'ler ve DDMC'lerle programlı olarak etkileşim kurmanın bir yoludur. Bu makalede, bundan sonra basit bir istemci ve sunucu protokolü kullanan DD'ler için örnekler kullanılmaktadır. HTTP protokolü hiçbir durumu tutmaz ve bir istemcinin DD'lerden durumu okumasına ve özel hazırlanmış HTTP çağrılarıyla komut çalıştırmasına izin verir.

Komut satırından aşağıdaki komut, web tabanlı REST API hizmetinin (web hizmeti) durumunu bildirir:

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

 


REST API'ye kullanıcı arayüzüyle aynı bağlantı noktalarından hizmet verildiğinden ayrı olarak devre dışı bırakılmasının bir yolu olmadığını unutmayın. API'ye yapılan tüm isteklerin, kullanıcı arayüzüne veya CLI'ye yapılan isteklerle aynı şekilde doğrulanması gerektiğinden, bu herhangi bir güvenlik riski oluşturmaz.

REST API'yi kullanmaya başlamanın en iyi yolu, paketlenmiş istemciyi her DD ve DDMC de kullanmaktır. Aşağıdaki konumdan erişilebilir:

https://DD_OR_DDMC_IP_ADDRESS/api/

 

Bu, birkaç önemli kaynağa bağlantılar içeren bir sayfa sunar, yani:

  • API Belgeleri: DD veya DDMC tarafından desteklenen tüm mevcut API çağrılarının ayrıntılı listesi
  • REST Test İstemcisi: API çağrılarını DD web arayüzünün kendisinden test edin


API belgeleri, bir programcının DD'nin üzerine uygulamalar oluşturmak üzere DD REST API'den yararlanmak için kullanması gereken tek şeydir. 

API'yi kullanmak için DD kimlik doğrulaması gereklidir. İki bilgiye ihtiyaç vardır:

  • X-DD-AUTH-TOKEN: DD'nin başarılı bir kimlik doğrulamanın ardından sağladığı ve diğer isteklerde kimlik doğrulayıcı olarak kullanılması gereken bir tanımlama bilgisi.
  • X-DD-UUID: API'ye yapılan (çoğu) istek için kullanılacak benzersiz DD tanımlayıcısı. Not: Tek bir DD için bu gereksiz görünebilir ancak tek bir DD'nin seçilebileceği DDMC'ler için açıkça gereklidir.



DD'de kimlik doğrulaması yapmak için "/rest/v1.0/auth" yöntemini kullanın. Bunu, "curl" yüklü ve DD ye ağ erişimi olan herhangi bir ana bilgisayardan yapın ve isteği aşağıdaki gibi gönderin:

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

 

Yukarıdaki komut satırı çalışmasıyla ilgili birkaç yorum aşağıdadır:

  • Bazı sorgu yanıtları gövdenin bir parçası olarak değil HTTP yanıt etiketleri olarak geri döndüğü için "--include" seçeneği gereklidir
  • curl, sunucu CA sertifikasını bilinen ve güvenilen CA yetkilileri listesiyle karşılaştıracak şekilde yapılandırıldığında "--insecure" seçeneği gereklidir. DD ile birlikte gelen REST TEST istemcisi bu seçeneği eklemediğinden ancak CA sertifikalarını doğrulamak için kullanılması gerekir veya test istemcisi içinde çalıştırılan tüm komutlar başarısız olur (undefinedERROR Metin Durumu: hata). Bunun yerine komut satırından örnek bir "curl" çalıştırmaya çalışırsanız, hata şöyle olur:
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.

 

  • Bir HTTP yöntemi olan "POST"u kullanıyoruz. Her API yönteminin, belgelerde açıkça vurgulanan kendi yöntemi vardır.
  • --header" seçenekleri, HTTP düzeyindeki başlıkları veya seçenekleri çağrılan DD'ye iletmek için kullanılır
  • -d", isteğin gövdesini DD'ye, bu durumda kullanıcı adı ve parolayı gönderir
  • Son olarak, belirli kimlik doğrulama yöntemini çağıran URI son parametre olarak çağrılır (https://DD_OR_DDMC_IP_ADDRESS:3009/rest/v1.0/auth). HTTPS kullandığımızdan, kimlik bilgileri kablo üzerinden şifrelenmiş olarak seyahat eder. Belgelere ve yerleşik test istemcisine 443 numaralı bağlantı noktası üzerinden erişilirken, REST API hizmeti giriş noktasının 3009 numaralı bağlantı noktasında olduğunu ve çalışması için HTTPS (HTTP değil) kullanması gerektiğini unutmayın



Yukarıdaki kimlik doğrulama sorgusunun yanıtı aşağıda gösterilmiştir:

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"}]}}

 

Boş satırdan önceki her şey, yanıtta gönderilen HTTP başlıklarıdır. Sonraki içerik, bu durumda başarıyı bildiren yanıt gövdesidir. Bu yöntem için en önemli veriler şunlardır:

  • X-DD-AUTH-TOKEN (434f1d6dc1528bb8d3ad66c70dc7f74f9) Bu, daha fazla işlemin kimliğini doğrulamak için belirli bir süre boyunca kullanılabilen geçici bir kimlik doğrulama belirtecidir
  • X-DD-UUID (7850d7a24f93f502:1346d63c57821e38) İstenen DD'nin kimliği, daha sonraki istekler için kullanılmalıdır


Başka bir istek için bu değerleri kullanmalıyız. Örneğin, bir DD Dosya Sistemi hakkında bilgi bulmak istediğimizi varsayalım. Aşağıdaki ekran görüntüsünde olduğu gibi ihtiyaçlarımıza en uygun çağrıyı bulmak için "API Belgeleri"ne gidin:


Sistem Yerel API Belgeleri

Gerekli parametreleri kontrol ettikten sonra isteği aşağıdaki gibi oluşturabiliriz.  Bu durumda, kimlik doğrulama yöntemi gibi "POST" yerine "GET" türünde bir istek çalıştırdığımızı unutmayın:

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

 

Ancak kimlik doğrulama belirtecinin geçersiz olduğunu veya süresinin dolduğunu belirten aşağıdaki yanıtı alırız:

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

 

Sorguyu çalıştırmak ve istenen sonuçları almak için yeni bir kimlik doğrulama belirteci oluşturmamız gerekir, örneğin:

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


Yanıt gövdesindeki çıktı, çağırana standart olan JSON biçiminde gönderilir.

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.