Isilon: Powershellin käyttäminen Platform API:n kanssa – Objektien ja RANin luominen

Résumé: Tässä artikkelissa kerrotaan, miten Powershelliä käytetään OneFS Platform API:n kanssa objektien ja RAN:n luomiseen.

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

Ei tarvita

Cause

Ei tarvita

Résolution

JSONin esittely

PAPI käyttää JSONia tiedonsiirtomuotona. On tärkeää ymmärtää, miten sitä voidaan hyödyntää PAPI: n käyttämiseen resurssien luomiseen, muokkaamiseen tai poistamiseen. Lisätietoja JSONista on osoitteessa www.json.orgTämä hyperlinkki johtaa Dell Technologiesin ulkopuoliseen sivustoon. . Keskeinen periaate on, että se on täysin itsenäinen ohjelmointikieli ja perustuu kahteen rakenteeseen:

  • Kokoelma nimi- ja arvopareja
  • Järjestetty arvoluettelo

Esimerkkitulos API-objektin hakemisesta voisi näyttää tältä:

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

 

Jos haluat tietää, mitä JSON-tekstitulosteita on käytettävissä, meidän on annettava POST-komento objektin luomiseksi; Katso PAPI-itsedokumentaatiota lähettämällä seuraava pyyntö:

GET /platform/1/quota/quotas?describe 

Tässä on asiaankuuluva Powershell-koodi:

#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

 

Alla olevassa esimerkkituloksessa kerrotaan, mitä sinun on POSTATTAVA, jotta voit luoda uuden kiintiön. Kiinnitä huomiota vaadittuihin ominaisuuksiin, koska ne eivät välttämättä ole samoja ominaisuuksia, joita vastaava edellyttää isi Komento.

Komento- syöte  

Seuraavassa on esimerkkiominaisuuksien avulla esimerkki JSON-merkkijonosta, jota voidaan käyttää hakemiston sitovan kiintiön luomiseen:

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

 

Kun JSON-merkkijono on valmis, jäljellä on vain rakentaa Invoke-RestMethod parametrit ja lähetä. Alla olevassa esimerkkikoodissa JSON-merkkijono on POST-tiedoston tekstiosa ja sisältötyyppi on 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
 

Kaiken kokoaminen yhteen

Oletetaan esimerkin avulla, että ympäristössäsi on useita kotihakemistoja käyttäjille yhdessä päähakemistossa (esimerkki: /ifs/home) ja haluat määrittää hakemistokiintiöt kullekin näistä kotihakemistoista. Isilon RESTful Access to the namespace (RAN) API -sovellusliittymän avulla saat polut kunkin käyttäjän kotihakemistoon. Seuraava koodi hakee määritetyn polun alihakemistot ja asettaa sitten hakemistokiintiön kullekin alihakemistolle:
 

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

 

Tässä on tulos tähän viestiin liitetyn komentosarjan suorittamisesta:

Komentosarjan tulos  
Komentosarjan tulos  

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.