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.

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

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  

Affected Products

Isilon, PowerScale OneFS, Isilon Platform API
Article Properties
Article Number: 000132770
Article Type: Solution
Last Modified: 02 Apr 2026
Version:  7
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.