Isilon: Brug af PowerShell med Platform API - Oprettelse af objekter og RAN

Riepilogo: Denne artikel forklarer, hvordan du bruger PowerShell med OneFS Platform API til at oprette objekter og RAN.

Questo articolo si applica a Questo articolo non si applica a Questo articolo non è legato a un prodotto specifico. Non tutte le versioni del prodotto sono identificate in questo articolo.

Sintomi

Ikke påkrævet

Causa

Ikke påkrævet

Risoluzione

Introduktion til JSON

PAPI bruger JSON som dataoverførselsformat, og det er meget vigtigt at forstå, hvordan man anvender PAPI til at oprette, ændre eller slette ressourcer. Du kan få mere at vide om JSON på www.json.org , men det vigtigste udgangspunkt er, at det er et selvstændigt programmeringssprog, der bygger på to strukturer:
  • En samling navne-/værdipar
  • En bestilt liste over værdier

Eksempel på output fra hentning af et systemobjekt ser sådan ud:

{
"<objekt>": {
"<egenskab>": <værdi>,
...
}

For at vide, hvilken JSON-tekst vi har brug for til POST for at oprette et objekt, kan du se i PAPI-selvdokumentationen ved at sende følgende anmodning:
GET /platform/1/quota/quotas?beskriv

Her er den relevante PowerShell-kode: 

#Get PAPI-selvdokumentation for kvoter
$resource = "/platform/1/kvote/kvoter?beskriv"
$uri = $baseurl + $resource
$ISIObject = Invoke-RestMeturi -Uri $uri -Headers $headers -Method Get
$ISIObject

 

Nedenstående eksempel på output beskriver, hvad du skal bruge til POST for at oprette en ny kvote. Vær opmærksom på de nødvendige egenskaber, da de muligvis ikke er de samme egenskaber, som er påkrævet for den tilsvarende isi-kommando.

SLN319398_en_US__1i_isilon_1 PowerShell

Med egenskaberne i eksemplet er følgende et eksempel på en JSON-streng, der kan bruges til at oprette en mappehardkvote:

$QuotaObject = @"
{"type":"directory","include_snapshots": falsk,"container": sand, "sti": /ifs/home/user1", "håndhæves": sand, "tærskler": {"hard": 10000000},"thresholds_include_overhead": false}
" @ 

Når JSON-strengen er fuldført, er alt, hvad der er tilbage, at bygge Invoke-RestMetometer-parametrene og indsende. I nedenstående eksempelkode er JSON-strengen indholdet i POST, og at indholdstypen er application/json:

$headers = @{"Authorization"="Basic $($EncodedPassword)"}
$uri = $baseurl + $resource
$ISIObject = Invoke-RestMet byte -Uri $uri -Headers $headers -Body $QuotaObject -ContentType "application/json; charset=utf-8" -Metode POST
Write-Host " Resulterende kvote-id: " $ISIObject.id

Sætte det hele sammen

Lad os f.eks. antage, at dit miljø har mange hjemmebiblioteker for brugere under en enkelt overordnet mappe (f.eks.: /ifs/home), og du vil angive mappekvoter for hver af disse hjemmebiblioteker. Brug Isilon RESTful-adgang til navneområdets API (RAN) for at hente stierne til hver enkelt brugers hjemmemappe. Følgende kode henter undermapperne for en bestemt sti og indstiller derefter en mappekvote i hver undermappe:
 

# Hent undermapper for den angivne
sti$resource = "/namespace/" + $path
$uri = $baseurl + $resource
$ISIObject = Invoke-RestMeturi -Uri $uri -Headers $headers -Method Get
#Loop through hver mappe og indstille kvoten
ForEach($folder i $ISIObject.children) {

#Create kvote
$resource ="/platform/1/kvote/kvoter"
Write-Host "Indstilling af en $quotasize bytekvote på $quotapath"
$QuotaObject = @"
{"type":"directory","include_snapshots": falsk,"container": sand, "sti": "$quotapath", "håndhæves": sand, "grænser": {"hard":$quotasize},"thresholds_include_overhead": false}
"@
$headers = @{"Authorization"="Basic $($EncodedPassword)"}
$uri = $baseurl + $resource
$ISIObject 2 = Invoke-RestMetometer -Uri $uri -Headers $headers -Body $QuotaObject -ContentType "application/json; charset=utf-8" -Metode POST
Write-Host " Resulterende kvote-id: "$ISIObject2.id
}

Her er outputtet fra at køre det script, der er vedhæftet til dette indlæg:

SLN319398_en_US__2i_isilon_2 PowerShell
SLN319398_en_US__3i_isilon_3 PowerShell

Prodotti interessati

Isilon, PowerScale OneFS, Isilon Platform API
Proprietà dell'articolo
Numero articolo: 000132770
Tipo di articolo: Solution
Ultima modifica: 30 gen 2026
Versione:  6
Trova risposta alle tue domande dagli altri utenti Dell
Support Services
Verifica che il dispositivo sia coperto dai Servizi di supporto.