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

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

Není vyžadováno

Årsag

Není vyžadováno

Løsning

Ú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  

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.