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

Résumé: Tento článek vysvětluje, jak používat PowerShell s rozhraním API platformy OneFS k vytváření objektů a sítí RAN.

Cet article concerne Cet article ne concerne pas Cet article n’est associé à aucun produit spécifique. Toutes les versions du produit ne sont pas identifiées dans cet article.

Symptômes

Není vyžadováno

Cause

Není vyžadováno

Résolution

Ú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  

Produits concernés

Isilon, PowerScale OneFS, Isilon Platform API
Propriétés de l’article
Numéro d’article: 000132770
Type d’article: Solution
Dernière modification: 02 avr. 2026
Version:  7
Trouvez des réponses à vos questions auprès d’autres utilisateurs Dell
Services de support
Vérifiez si votre appareil est couvert par les services de support.