Isilon: PowerShellin käyttäminen ympäristön ohjelmointirajapinnassa - kohteiden ja RAN-kohteiden luominen

요약: Tässä artikkelissa selitetään, miten voit luoda objekteja ja RAN-liittymää PowerShellin ja OneFS-ympäristön ohjelmointirajapinnan kanssa.

이 문서는 다음에 적용됩니다. 이 문서는 다음에 적용되지 않습니다. 이 문서는 특정 제품과 관련이 없습니다. 모든 제품 버전이 이 문서에 나와 있는 것은 아닙니다.

증상

Ei tarvita

원인

Ei tarvita

해결

JSON-esittely

OPIS käyttää JSON:ia tiedonsiirtomuotona, ja on tärkeää ymmärtää, miten sitä voidaan hyödyntää resurssien luonti-, muokkaus- ja poistoresurssien luonti-, muokkaus- ja poistotoiminnoissa. Voit tutustua JSON:iin www.json.org , mutta keskeistä on, että se on täysin itsenäinen ohjelmointikieli ja perustuu kahteen rakenteeseen:
  • Kokoelma nimi-/arvopareja
  • Tilattu arvoluettelo

Esimerkki tuloksesta järjestelmäobjektin hankkimisesta näyttää tältä:

{
"<kohde>": {
"<ominaisuus>": <arvo>,
...
}

Jos haluat tietää, mitä JSON-tekstiä tarvitaan POST-testiin objektin luontia varten, tutustu KOOSTin omatoimiseen dokumentaatioon lähettämällä seuraava pyyntö:
GET /platform/1/quota/quotas?describe

Seuraava on asiaankuuluva PowerShell-koodi: 

#Get QUOTA-oppaat kiintiöille
$resource = "/platform/1/quota/quotas?describe"
$uri = $baseurl + $resource
$ISIObject = Invoke-RestMethod -Uri $uri -Headers $headers -Method Get
$ISIObject

 

Seuraavassa esimerkissä kerrotaan, mitä post-testiä tarvitaan uuden kiintiön luomista varten. Kiinnitä huomiota tarvittaviin ominaisuuksiin, koska ne eivät välttämättä ole samoja ominaisuuksia kuin vastaava isi-komento edellyttää.

SLN319398_en_US__1i_isilon_1 PowerShell

Esimerkkiominaisuuksista seuraava on JSON-esimerkkimerkkijono, jonka avulla voidaan luoda hakemiston kiinteä kiintiö:

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

Kun JSON-merkkijono on valmis, jäljellä on vain Invoke-RestMethod-parametrien kokoaminen ja lähettäminen. Seuraavassa esimerkkikoodissa JSON-merkkijono on POST-testin runko ja sisältötyyppi on sovellus/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 yhdistäminen

Oletetaan esimerkissä, että ympäristössä on useita kotihakemistoja käyttäjille yhden päähakemiston alla (esimerkiksi: /ifs/home) ja haluat määrittää hakemistokiintiöt kullekin kotihakemistolle. Käytä Isilon RESTful Access to the Namespace (RAN) API -ohjelmointirajapintaa, jotta saat polut kunkin käyttäjän kotihakemistoon. Seuraava koodi hae määritetyn polun alihakemistot ja määrittää hakemistokiintiön jokaisessa alihakemistossa:
 

# Get subdirectories of path specified
$resource = '/namespace/' + $path
$uri = $baseurl + $resource
$ISIObject = Invoke-RestMethod -Uri $uri -Headers $headers -Method Get
#Loop kunkin hakemiston kautta ja määritä Kiintiö
ForEach ($folder in $ISIObject.children) {

#Create quota
$resource ="/platform/1/quota/quotas"
Write-Host "Setting a $quotasize tavukiintiö 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-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 tähän julkaisuun liitetyn komentosarjan suorittamisen tulokset:

SLN319398_en_US__2i_isilon_2 PowerShell
SLN319398_en_US__3i_isilon_3 PowerShell

해당 제품

Isilon, PowerScale OneFS, Isilon Platform API
문서 속성
문서 번호: 000132770
문서 유형: Solution
마지막 수정 시간: 30 1월 2026
버전:  6
다른 Dell 사용자에게 질문에 대한 답변 찾기
지원 서비스
디바이스에 지원 서비스가 적용되는지 확인하십시오.