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

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

이 문서는 다음에 적용됩니다. 이 문서는 다음에 적용되지 않습니다. 이 문서는 특정 제품과 관련이 없습니다. 모든 제품 버전이 이 문서에 나와 있는 것은 아닙니다.

증상

Niewymagany

원인

Niewymagany

해결

Wprowadzenie do JSON

Papi używa JSON jako formatu wymiany danych i ważne jest, aby zrozumieć, jak wykorzystać go do tworzenia, modyfikowania lub usuwania zasobów za pomocą PAPI. Więcej informacji na temat oprogramowania JSON można znaleźć w witrynie www.json.org , ale kluczową zasadą jest to, że jest on kompletnym niezależnym językiem programistycznym i opiera się na dwóch strukturach:
  • Zbiór par nazw/wartości
  • Zamówiona lista wartości

Przykładowe dane wyjściowe z uzyskania obiektu systemowego wyglądają następująco:

{
"<obiekt>": {
"<właściwość>": <wartość>,
...
}

Aby dowiedzieć się, jaki tekst JSON należy wykonać w celu utworzenia obiektu, należy zapoznać się z dokumentacją PAPI, wysyłając następujące żądanie:
GET /platform/1/quota/quotas?opisz

poniżej odpowiedni kod Programu PowerShell: 

#Get samodzielną dokumentację PAPI dla przydziałów
$resource = "/platform/1/quota/quotas?describe"
$uri = $baseurl + $resource
$ISIObject = Invoke-RestMethod -Uri $uri -Headers $headers -Method Get
$ISIObject

 

Poniższe przykładowe dane wyjściowe określają, co jest potrzebne do testu POST, aby utworzyć nowy limit. Zwróć uwagę na wymagane właściwości, ponieważ mogą one nie być te same właściwości wymagane dla odpowiedniego polecenia isi.

SLN319398_en_US__1i_isilon_1 powershell

Korzystając z przykładowych właściwości, poniżej przedstawiono przykładowy ciąg JSON, który może być użyty do utworzenia ścisłego limitu 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 pozostanie tylko zbudowanie parametrów Invoke-RestMethod i przesłanie. W poniższym przykładzie ciąg JSON jest treścią testu POST, a typem zawartości jest aplikacja/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 " Wynikowy identyfikator limitu: " ISIObject.id USD

Łączenie wszystkich elementów

Korzystając z przykładu, załóżmy, że środowisko ma wiele katalogów domowych dla użytkowników w ramach jednego katalogu nadrzędnego (przykład: /ifs/home) i chcesz ustawić limity katalogów dla każdego z tych katalogów domowych. Użyj interfejsu API Isilon RESTful Access to the Namespace (RAN), aby uzyskać ścieżki do każdego katalogu głównego użytkownika. Poniższy kod otrzyma podkatalogi określonej ścieżki, a następnie ustawi limit katalogów w każdym podkatalogu:
 

# Uzyskaj podkatalogi ścieżki określonej
$resource = "/namespace/" + $path
$uri = $baseurl + $resource
$ISIObject = Invoke-RestMethod -Uri $uri -Headers $headers -Method Get
#Loop through każdy katalog i ustawić limit
ForEach($folder w $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", "egzekwowane": prawda, "progi": {"hard":$quotasize},"thresholds_include_overhead": false}
"@
$headers = @{"Authorization"="Basic $($EncodedPassword)"}
$uri = $baseurl + $resource
$ISIObject 2 = Invoke-RestMethod -Uri $uri -Headers $headers -Body $QuotaObject -ContentType "application/json; charset=utf-8" -Method POST
Write-Host " Wynikowy identyfikator limitu: " ISIObject2.id
USD}

Poniżej przedstawiono dane wyjściowe z uruchomienia skryptu dołączonego do tego posta:

SLN319398_en_US__2i_isilon_2 powershell
SLN319398_en_US__3i_isilon_3 powershell

해당 제품

Isilon, PowerScale OneFS, Isilon Platform API
문서 속성
문서 번호: 000132770
문서 유형: Solution
마지막 수정 시간: 30 1월 2026
버전:  6
다른 Dell 사용자에게 질문에 대한 답변 찾기
지원 서비스
디바이스에 지원 서비스가 적용되는지 확인하십시오.