Isilon: PowerShell gebruiken met Platform API - Objecten maken en RAN

요약: In dit artikel wordt uitgelegd hoe u PowerShell gebruikt met de OneFS Platform API om objecten en RAN te maken.

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

증상

Niet vereist

원인

Niet vereist

해결

Inleiding tot JSON

De PAPI gebruikt JSON als indeling voor data-uitwisseling en het is van cruciaal belang om te begrijpen hoe deze kan worden gebruikt om PAPI te gebruiken om bronnen te maken, te wijzigen of te verwijderen. U kunt meer informatie over JSON vinden op www.json.org , maar het belangrijkste principe is dat het volledige onafhankelijke programmeertaal is en is gebouwd op twee structuren:
  • Een verzameling naam-/waardeparen
  • Een bestelde lijst met waarden

Voorbeeld van uitvoer van het ophalen van een systeemobject ziet er als dit uit:

{
"<object>": {
"<eigenschap>": <waarde>,
...
}

Om te weten welke JSON-tekst we nodig hebben om een object te maken, bekijkt u de PAPI-zelfdocumentatie door de volgende aanvraag te verzenden:
GET /platform/1/quota/quotas?describe

Hier is de relevante PowerShell-code: 

#Get PAPI-zelfdocumentatie voor quota
$resource = "/platform/1/quota/quotas?describe"
$uri = $baseurl + $resource
$ISIObject = Invoke-RestMethod -Uri $uri -Headers $headers -Method Get
$ISIObject

 

In het onderstaande voorbeeld wordt beschreven wat u moet POST om een nieuwe quota te maken. Let op de vereiste eigenschappen, omdat deze mogelijk niet dezelfde eigenschappen zijn die nodig zijn voor de bijbehorende isi-opdracht.

SLN319398_en_US__1i_isilon_1-powershell

Met behulp van de voorbeeldeigenschappen is het volgende een voorbeeld JSON-tekenreeks die kan worden gebruikt om een harde directoryquota te maken:

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

Nu de JSON-tekenreeks is voltooid, hoeft u alleen nog de Invoke-RestMethod-parameters te bouwen en te verzenden. In de onderstaande voorbeeldcode is de JSON-tekenreeks de body van de POST en dat het inhoudstype applicatie/json is:

$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 " Resulterend quotum-ID: " $ISIObject.id

Alles in elkaar zetten

Als u een voorbeeld gebruikt, gaan we ervan uit dat uw omgeving veel homedirectory's heeft voor gebruikers onder een enkele bovenliggende directory (bijvoorbeeld: /ifs/home) en u wilt directoryquota instellen voor elk van deze home-directory's. Gebruik de Isilon RESTful Access to the Namespace (RAN) API om de paden naar elke homedirectory van de gebruiker te verkrijgen. De volgende code krijgt de submappen van een opgegeven pad en stelt vervolgens een mapquotum in op elke subdirectory:
 

# Submappen ophalen van het opgegeven
pad$resource = '/namespace/' + $path
$uri = $baseurl + $resource
$ISIObject = Invoke-RestMethod -Uri $uri -Headers $headers -Method Get
#Loop via elk directory en stel de quota
ForEach ($folder in $ISIObject.children) {

#Create quota
$resource ="/platform/1/quota/quota"
Write-Host "Setting a $quotasize byte quota on $quotapath"
$QuotaObject = @"
{"type":"directory","include_snapshots": false,"container": true, "path": "$quotapath", "afgedwongen": waar, "drempelwaarden": {"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 " Resulterend quotum-ID: " $ISIObject2.id
}

Hier is de uitvoer van het uitvoeren van het script dat aan dit bericht is gekoppeld:

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 사용자에게 질문에 대한 답변 찾기
지원 서비스
디바이스에 지원 서비스가 적용되는지 확인하십시오.