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

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

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

Ei tarvita

Cause

Ei tarvita

Resolution

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  

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