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.

Αυτό το άρθρο ισχύει για Αυτό το άρθρο δεν ισχύει για Αυτό το άρθρο δεν συνδέεται με κάποιο συγκεκριμένο προϊόν. Δεν προσδιορίζονται όλες οι εκδόσεις προϊόντων σε αυτό το άρθρο.

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  

Επηρεαζόμενα προϊόντα

Isilon, PowerScale OneFS, Isilon Platform API
Ιδιότητες άρθρου
Article Number: 000132770
Article Type: Solution
Τελευταία τροποποίηση: 02 Απρ 2026
Version:  7
Βρείτε απαντήσεις στις ερωτήσεις σας από άλλους χρήστες της Dell
Υπηρεσίες υποστήριξης
Ελέγξτε αν η συσκευή σας καλύπτεται από τις Υπηρεσίες υποστήριξης.