Isilon: Bruke Powershell med plattform-API – opprette objekter og RAN

Resumo: Denne artikkelen forklarer hvordan du bruker Powershell med OneFS Platform API til å opprette objekter og RAN.

Este artigo aplica-se a Este artigo não se aplica a Este artigo não está vinculado a nenhum produto específico. Nem todas as versões do produto estão identificadas neste artigo.

Sintomas

Ikke nødvendig

Causa

Ikke nødvendig

Resolução

Introduksjon til JSON

PAPI bruker JSON som datautvekslingsformat. Det er viktig å forstå hvordan du kan utnytte det til å bruke PAPI til å opprette, endre eller slette ressurser. Ytterligere informasjon om JSON er tilgjengelig på www.json.orgDenne hyperkoblingen tar deg til et nettsted utenfor Dell Technologies. . Hovedprinsippet er at det er et komplett uavhengig programmeringsspråk og er bygget på to strukturer:

  • En samling av navn- og verdipar
  • En sortert liste med verdier

Eksempelutdata fra å hente et API-objekt kan se slik ut:

{
"<object>": {
     "<property>": <value>,
     ...
}

 

For å vite hvilke JSON-tekstutganger som er tilgjengelige, må vi utstede en POST-kommando for å lage et objekt; se på PAPI egendokumentasjon ved å sende følgende forespørsel:

GET /platform/1/quota/quotas?describe 

Her er den relevante Powershell-koden:

#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

 

Eksempelutdataene nedenfor viser hva du må postere for å opprette en ny kvote. Vær oppmerksom på de nødvendige egenskapene, siden de kanskje ikke er de samme egenskapene som kreves for tilsvarende isi Kommandoen.

Kommandoutgang  

Ved hjelp av eksempelegenskapene er følgende et eksempel på en JSON-streng som kan brukes til å opprette en kataloghard kvote:

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

 

Når JSON-strengen er fullført, er alt som gjenstår å bygge Invoke-RestMethod parametere og sende inn. I eksempelkoden nedenfor er JSON-strengen brødteksten i POST, og at innholdstypen er 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
 

Setter alt sammen

La oss ved hjelp av et eksempel anta at miljøet har mange hjemmeområder for brukere under én overordnet katalog (eksempel: /ifs/home) og du vil angi katalogkvoter for hver av disse hjemmeområdene. Bruk Isilon RESTful Access to the namespace (RAN) API for å hente banene til hver brukers hjemmekatalog. Følgende kode henter underkatalogene for en angitt bane og angir deretter en katalogkvote for hver undermappe:
 

# 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
}

 

Her er resultatet fra å kjøre skriptet knyttet til dette innlegget:

Utdata for skript  
Utdata for skript  

Produtos afetados

Isilon, PowerScale OneFS, Isilon Platform API
Propriedades do artigo
Número do artigo: 000132770
Tipo de artigo: Solution
Último modificado: 02 abr. 2026
Versão:  7
Encontre as respostas de outros usuários da Dell para suas perguntas.
Serviços de suporte
Verifique se o dispositivo está coberto pelos serviços de suporte.