Isilon: Použití prostředí Powershell s rozhraním Platform API – vytváření objektů a spuštění

Résumé: Tento článek vysvětluje, jak používat prostředí Powershell s rozhraním OneFS Platform API k vytváření objektů a spouštění systému.

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

Protokol PAPI používá jako formát pro vzájemnou výměnu dat formát JSON a je velmi důležité pochopit, jak jej využít k vytváření, úpravám a odstraňování zdrojů pomocí protokolu PAPI. O formátu JSON se můžete dozvědět více v www.json.org , ale základní princip spočívá v tom, že jde o zcela nezávislý programovací jazyk, který je postaven na dvou strukturách:
  • Sada párů názvů a hodnot
  • Objednaný seznam hodnot

Příklad výstupu ze získání objektu systému by vypadal takto:

{
"<object>": {
"<vlastnost>": <hodnota>,
...
}

Chcete-li zjistit, jaký text JSON potřebujeme při testu POST k vytvoření objektu, podívejte se na vlastní dokumentaci PAPI odesláním následujícího požadavku:
GET /platform/1/quota/quotas?describe

Zde je relevantní kód prostředí Powershell: 

#Get vlastní dokumentaci PAPI pro kvóty
$resource = "/platform/1/quota/quotas?describe"
$uri = $baseurl + $resource
$ISIObject = Invoke-RestObject -Uri $uri -Headers $headers -Method Get
$ISIObject

 

Níže uvedený příklad popisuje, co potřebujete k vytvoření nové kvóty provést při testu POST. Věnujte pozornost požadovaným vlastnostem, protože nemusí být stejné vlastnosti, které odpovídající příkaz isi vyžaduje.

SLN319398_en_US__1i_isilon_1 prostředí powershell

V příkladu vlastností je uveden příklad řetězce JSON, který lze použít k vytvoření vynucené 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á sestavit parametry Invoke-RestObject a odeslat je. V příkladu níže je řetězec JSON textem testu POST a že typ obsahu je application/json:

$headers = @{"Authorization"="Basic $($EncodedPassword)"}
$uri = $baseurl + $resource
$ISIObject = Invoke-RestGuard -Uri $uri -Headers $headers -Body $QuotaObject -ContentType "application/json; charset=palcová-8" -Metoda POST
Write-Host " Výsledné ID kvóty: " ISIObject.id USD

Poskládat vše pohromadě

Pomocí příkladu předpokládejme, že vaše prostředí má pro uživatele v jednom nadřazeném adresáři mnoho domovských adresářů (například: /ifs/home) a chcete nastavit kvóty adresáře pro každý z těchto domovských adresářů. Použijte přístup Isilon RESTful k rozhraní API oboru názvů (RAN) k získání cest k domovskému adresáři každého uživatele. Následující kód zobrazí podadresáře zadané cesty a poté nastaví kvótu adresáře pro každý podadresář:
 

# Získání podadresářů zadané
cesty$resource = '/namespace/' + $path
$uri = $baseurl + $resource
$ISIObject = Invoke-Rest Nfc -Uri $uri -Headers $headers -Method Get
#Loop through each directory a Nastavte kvótu
ForEach($folder v souboru $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
$ISIObject 2 = Invoke-Rest Archives -Uri $uri -Headers $headers -Body $QuotaObject -ContentType "application/json; charset=palcová-8" -Metoda POST
Write-Host " Výsledné ID kvóty: " ISIObject2.id
} USD

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

SLN319398_en_US__2i_isilon_2 prostředí powershell
SLN319398_en_US__3i_isilon_3 prostředí PowerShell

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: 12 Oct 2023
Version:  5
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.