Isilon: Använda Powershell med plattforms-API – skapa objekt och RAN

Resumo: I den här artikeln beskrivs hur du använder Powershell med OneFS Platform API för att skapa objekt och 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

Krävs inte

Causa

Krävs inte

Resolução

Introduktion till JSON

PAPI använder JSON som format för datautbyte. Det är viktigt att förstå hur du använder den för att använda PAPI för att skapa, ändra eller ta bort resurser. Mer information om JSON finns på www.json.orgDen här hyperlänken tar dig till en webbplats utanför Dell Technologies. . Huvudprincipen är att det är ett helt oberoende programmeringsspråk och bygger på två strukturer:

  • En samling namn- och värdepar
  • En ordnad lista med värden

Exempel på utdata från att hämta ett API-objekt kan se ut så här:

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

 

För att veta vilka JSON-textutdata som är tillgängliga måste vi utfärda ett POST-kommando för att skapa ett objekt. titta på PAPI-självdokumentationen genom att skicka följande begäran:

GET /platform/1/quota/quotas?describe 

Här är relevant PowerShell-kod:

#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

 

Exempelutdata nedan beskriver vad du måste POSTA för att skapa en ny kvot. Var uppmärksam på de obligatoriska egenskaperna eftersom de kanske inte är samma egenskaper som krävs för motsvarande isi Kommandot.

Kommandoutdata  

Med hjälp av exempelegenskaperna är följande ett exempel på en JSON-sträng som kan användas för att skapa en hård katalogkvot:

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

 

När JSON-strängen är klar är allt som återstår att skapa Invoke-RestMethod parametrar och skicka. I exempelkoden nedan är JSON-strängen brödtexten i POST och att innehållstypen är 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
 

Att sätta ihop allt

Med hjälp av ett exempel antar vi att din miljö har många hemkataloger för användare under en enda överordnad katalog (exempel: /ifs/home) och du vill ange katalogkvoter för var och en av dessa hemkataloger. Använd Isilon RESTful Access to the namespace API (RAN) för att hämta sökvägarna till varje användares hemkatalog. Följande kod hämtar underkatalogerna för en angiven sökväg och anger sedan en katalogkvot för varje underkatalog:
 

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

 

Här är resultatet från att köra skriptet som bifogas det här inlägget:

Skriptutdata  
Skriptutdata  

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.