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

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

Denne artikel gælder for Denne artikel gælder ikke for Denne artikel er ikke knyttet til et bestemt produkt. Det er ikke alle produktversioner, der er identificeret i denne artikel.

Symptomer

Niewymagany

Årsag

Niewymagany

Løsning

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  

Berørte produkter

Isilon, PowerScale OneFS, Isilon Platform API
Artikelegenskaber
Artikelnummer: 000132770
Artikeltype: Solution
Senest ændret: 02 apr. 2026
Version:  7
Find svar på dine spørgsmål fra andre Dell-brugere
Supportservices
Kontrollér, om din enhed er dækket af supportservices.