Isilon: Uso di PowerShell con l'API Platform - Creazione di oggetti e RAN

Summary: Questo articolo spiega come utilizzare PowerShell con l'API della piattaforma OneFS per creare oggetti e RAN.

Αυτό το άρθρο ισχύει για Αυτό το άρθρο δεν ισχύει για Αυτό το άρθρο δεν συνδέεται με κάποιο συγκεκριμένο προϊόν. Δεν προσδιορίζονται όλες οι εκδόσεις προϊόντων σε αυτό το άρθρο.

Symptoms

Non richiesto

Cause

Non richiesto

Resolution

Introduzione a JSON

Il PAPI utilizza JSON come formato di interscambio dati. È fondamentale capire come sfruttarlo per utilizzare PAPI per creare, modificare o eliminare risorse. Ulteriori informazioni su JSON sono disponibili all'indirizzo www.json.orgQuesto link ipertestuale indirizza a un sito web esterno a Dell Technologies. . Il principio chiave è che si tratta di un linguaggio di programmazione completo e indipendente ed è costruito su due strutture:

  • Una raccolta di coppie nome e valore
  • Un elenco ordinato di valori

L'output di esempio per ottenere un oggetto API potrebbe essere simile al seguente:

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

 

Per sapere quali output di testo JSON sono disponibili, è necessario eseguire un comando POST per creare un oggetto; consultare l'autodocumentazione PAPI inviando la seguente richiesta:

GET /platform/1/quota/quotas?describe 

Di seguito è riportato il codice PowerShell pertinente:

#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

 

L'output di esempio riportato di seguito descrive gli elementi di POST necessari per creare una nuova quota. Prestare attenzione alle proprietà richieste poiché potrebbero non essere le stesse proprietà richieste per il corrispondente isi .

: output del comando  

Utilizzando le proprietà di esempio, di seguito è riportata una stringa JSON di esempio che può essere utilizzata per creare una quota rigida della directory:

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

 

Una volta completata la stringa JSON, non resta che creare il file Invoke-RestMethod parametri e inviare. Nel codice di esempio riportato di seguito, la stringa JSON è il corpo del POST e il tipo di contenuto è 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
 

Mettere tutto insieme

Usando un esempio, supponiamo che l'ambiente disponga di molte home directory per gli utenti in un'unica directory padre (esempio: /ifs/home) e si desidera impostare le quote di directory per ciascuna di queste directory principali. Utilizzare Isilon RESTful Access to the namespace (RAN) API per ottenere i percorsi della home directory di ciascun utente. Il codice seguente ottiene le sottodirectory di un percorso specificato e quindi imposta una quota di directory in ogni sottodirectory:
 

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

 

Ecco l'output dell'esecuzione dello script allegato a questo post:

Output dello script  
Output dello script  

Επηρεαζόμενα προϊόντα

Isilon, PowerScale OneFS, Isilon Platform API
Ιδιότητες άρθρου
Article Number: 000132770
Article Type: Solution
Τελευταία τροποποίηση: 02 Απρ 2026
Version:  7
Βρείτε απαντήσεις στις ερωτήσεις σας από άλλους χρήστες της Dell
Υπηρεσίες υποστήριξης
Ελέγξτε αν η συσκευή σας καλύπτεται από τις Υπηρεσίες υποστήριξης.