Isilon: Korzystanie z programu PowerShell z interfejsem API platformy — tworzenie obiektów i uruchamianie

Summary: W tym artykule wyjaśniono, jak używać programu PowerShell z interfejsem API platformy OneFS do tworzenia obiektów i sieci RAN.

Acest articol se aplică pentru Acest articol nu se aplică pentru Acest articol nu este legat de un produs specific. Acest articol nu acoperă toate versiunile de produs existente.

Symptoms

Niewymagany

Cause

Niewymagany

Resolution

Wprowadzenie do formatu JSON

PAPI używa formatu JSON jako formatu wymiany danych. Bardzo ważne jest, aby zrozumieć, jak wykorzystać go do używania PAPI do tworzenia, modyfikowania lub usuwania zasobów. Dodatkowe informacje na temat formatu JSON są dostępne w www.json.orgKliknięcie tego hiperłącza powoduje wyświetlenie strony spoza witryny Dell Technologies. . Kluczową zasadą jest to, że jest to całkowicie niezależny język programowania i jest zbudowany na dwóch strukturach:

  • Kolekcja par nazw i wartości
  • Uporządkowana lista wartości

Przykładowe dane wyjściowe z pobierania obiektu interfejsu API mogą wyglądać następująco:

{
"<object>": {
     "<property>": <value>,
     ...
}

 

Aby dowiedzieć się, jakie dane wyjściowe tekstu JSON są dostępne, musimy wydać polecenie POST, aby utworzyć obiekt; zapoznaj się z dokumentacją własnoręczną PAPI, wysyłając następujące żądanie:

GET /platform/1/quota/quotas?describe 

Oto odpowiedni kod PowerShell:

#Get PAPI self documentation for quotas
$resource = "/platform/1/quota/quotas?describe"
$uri = $baseurl + $resource
$ISIObject = Invoke-RestMethod -Uri $uri -Headers $headers -Method Get
$ISIObject

 

W poniższych przykładowych danych przedstawiono, co należy POST, aby utworzyć nowy przydział. Zwróć uwagę na wymagane właściwości, ponieważ mogą to nie być te same właściwości, które są wymagane dla odpowiedniego isi .

dane wyjściowe polecenia  

Korzystając z przykładowych właściwości, poniżej przedstawiono przykładowy ciąg JSON, którego można użyć do utworzenia przydziału twardego katalogu:

$QuotaObject = @"
{"type":"directory","include_snapshots": false,"container": true, "path": /ifs/home/user1", "enforced": true, "thresholds": {"hard":10000000},"thresholds_include_overhead": false}
"@

 

Po zakończeniu ciągu JSON pozostaje tylko zbudować plik Invoke-RestMethod parametrów i prześlij. W poniższym przykładowym kodzie ciąg JSON jest treścią żądania POST, a typ zawartości to application/json:

$headers = @{"Authorization"="Basic $($EncodedPassword)"}
$uri = $baseurl + $resource
$ISIObject = Invoke-RestMethod -Uri $uri -Headers $headers -Body $QuotaObject -ContentType "application/json; charset=utf-8" -Method POST
Write-Host "   Resulting Quota ID: "  $ISIObject.id
 

Składanie wszystkiego w całość

Korzystając z przykładu, załóżmy, że środowisko ma wiele katalogów macierzystych dla użytkowników w jednym katalogu nadrzędnym (przykład: /ifs/home) i chcesz ustawić przydziały katalogów dla każdego z tych katalogów głównych. Użyj interfejsu API Isilon RESTful Access to the namespace (RAN), aby uzyskać ścieżki do każdego katalogu macierzystego użytkownika. Poniższy kod pobiera podkatalogi o określonej ścieżce, a następnie ustawia przydział katalogu dla każdego podkatalogu:
 

# Get subdirectories of path specified
$resource = '/namespace/' + $path
$uri = $baseurl + $resource
$ISIObject = Invoke-RestMethod -Uri $uri -Headers $headers -Method Get
#Loop through each directory and set the quota
ForEach($folder in $ISIObject.children) {
#Create quota
$resource ="/platform/1/quota/quotas"
Write-Host "Setting a $quotasize byte quota on $quotapath"
$QuotaObject = @"
{"type":"directory","include_snapshots": false,"container": true, "path": "$quotapath", "enforced": true, "thresholds": {"hard":$quotasize},"thresholds_include_overhead": false}
"@
$headers = @{"Authorization"="Basic $($EncodedPassword)"}
$uri = $baseurl + $resource
$ISIObject2 = Invoke-RestMethod -Uri $uri -Headers $headers -Body $QuotaObject -ContentType "application/json; charset=utf-8" -Method POST
Write-Host "   Resulting Quota ID: "  $ISIObject2.id
}

 

Oto dane wyjściowe z uruchomienia skryptu dołączonego do tego posta:

Wyjście skryptu  
Wyjście skryptu  

Produse afectate

Isilon, PowerScale OneFS, Isilon Platform API
Proprietăți articol
Article Number: 000132770
Article Type: Solution
Ultima modificare: 02 apr. 2026
Version:  7
Găsiți răspunsuri la întrebările dvs. de la alți utilizatori Dell
Servicii de asistență
Verificați dacă dispozitivul dvs. este acoperit de serviciile de asistență.