Isilon: Používání Powershell s rozhraním API platformy – Vytváření objektů a RAN

Summary: Tento článek vysvětluje, jak používat PowerShell s rozhraním API platformy OneFS k vytváření objektů a sítí 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

Není vyžadováno

Cause

Není vyžadováno

Resolution

Úvod do JSON

PAPI používá JSON jako formát pro výměnu dat. Je důležité pochopit, jak jej využít k použití PAPI k vytváření, úpravě nebo odstraňování zdrojů. Další informace o JSON jsou k dispozici na adrese www.json.orgTento hypertextový odkaz vás zavede na webové stránky mimo společnost Dell Technologies. . Klíčovým principem je, že se jedná o zcela nezávislý programovací jazyk a je postaven na dvou strukturách:

  • Kolekce párů názvů a hodnot
  • Uspořádaný seznam hodnot

Příklad výstupu z získání objektu rozhraní API by mohl vypadat takto:

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

 

Abychom věděli, jaké textové výstupy JSON jsou k dispozici, musíme vydat příkaz POST k vytvoření objektu; nahlédněte do vlastní dokumentace PAPI zasláním následující žádosti:

GET /platform/1/quota/quotas?describe 

Tady je příslušný kód PowerShellu:

#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

 

Následující příklad výstupu popisuje, co je nutné provést testem POST, aby bylo možné vytvořit novou kvótu. Věnujte pozornost požadovaným vlastnostem, protože se nemusí jednat o stejné vlastnosti požadované pro odpovídající isi .

Výstup příkazu  

Následuje příklad řetězce JSON, který se dá použít k vytvoření pevné kvóty adresáře:

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

 

Po dokončení řetězce JSON zbývá jen sestavit Invoke-RestMethod parametry a odeslat. V následujícím ukázkovém kódu je řetězec JSON textem POST a že typ obsahu je 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
 

Dát to všechno dohromady

Předpokládejme například, že vaše prostředí má mnoho domovských adresářů pro uživatele v jednom nadřazeném adresáři (příklad: /ifs/home) a pro každý z těchto domovských adresářů chcete nastavit kvóty adresářů. Pomocí rozhraní Isilon RESTful Access to the namespace API (RAN) získáte cesty k domovskému adresáři jednotlivých uživatelů. Následující kód získá podadresáře zadané cesty a pak pro každý podadresář nastaví kvótu adresáře:
 

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

 

Zde je výstup ze spuštění skriptu připojeného k tomuto příspěvku:

Výstup skriptu  
Výstup skriptu  

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ță.