Isilon: Usando o PowerShell com API de plataforma — criando objetos e RAN

Zusammenfassung: Este artigo explica como usar o PowerShell com a API da plataforma OneFS para criar objetos e RAN.

Dieser Artikel gilt für Dieser Artikel gilt nicht für Dieser Artikel ist nicht an ein bestimmtes Produkt gebunden. In diesem Artikel werden nicht alle Produktversionen aufgeführt.

Symptome

Não obrigatório

Ursache

Não obrigatório

Lösung

Introdução ao JSON

O PAPI usa JSON como o formato de troca de dados e é essencial entender como usá-lo para usar o PAPI para criar, modificar ou excluir recursos. Você pode saber mais sobre o JSON na www.json.org , mas o principal princípio é que ela é uma linguagem de programação independente completa e é baseada em duas estruturas:
  • Um conjunto de pares de nome/valor
  • Uma lista ordenada de valores

Exemplo de resultado de obter um objeto do sistema seria assim:

{
"<objeto>": {
"<propriedade>": <valor>,
...
}

Para saber qual texto JSON precisamos publicar para criar um objeto, consulte a documentação automática da PAPI enviando a seguinte solicitação:
GET /platform/1/quota/quotas?describe

Este é o código relevante do PowerShell: 

#Get documentação automática papi para cotas
$resource = "/platform/1/quota/quotas?describe"
$uri = $baseurl + $resource
$ISIObject = Invoke-RestMethod -Uri $uri -Headers $headers -Method Get
$ISIObject

 

O exemplo de resultado abaixo descreve o que você precisa fazer post para criar uma nova cota. Preste atenção às propriedades necessárias, pois elas podem não ser as mesmas necessárias para o comando isi correspondente.

SLN319398_en_US__1i_isilon_1 PowerShell

Usando as propriedades de exemplo, o seguinte é um exemplo de string JSON que pode ser usada para criar uma cota fixa de diretório:

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

Com a string JSON concluída, tudo o que resta é criar os parâmetros Invoke-RestMethod e enviar. No código de exemplo abaixo, a string JSON é o corpo do POST e que o tipo de conteúdo é 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

Reunindo tudo isso

Usando um exemplo, vamos supor que seu ambiente tenha muitos diretórios base para usuários em um só diretório principal (exemplo: /ifs/home) e você deseja definir cotas de diretório para cada um desses diretórios base. Use o Isilon RESTful Access to the Namespace (RAN) API para obter os caminhos para cada diretório base do usuário. O seguinte código obterá os subdiretórios de um caminho especificado e, em seguida, definirá uma cota de diretório em cada subdiretório:
 

# Obter subdiretórios
do caminho especificado$resource = '/namespace/' + $path
$uri = $baseurl + $resource
$ISIObject = Invoke-RestMethod -Uri $uri -Headers $headers -Method Get
#Loop through cada
diretório e defina a cota 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", "imposto": verdadeiro, "limites": {"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 " Resulting Quota ID: " $ISIObject2.id
}

Esta é a saída da execução do script anexado a esta publicação:

SLN319398_en_US__2i_isilon_2 PowerShell
SLN319398_en_US__3i_isilon_3 PowerShell

Betroffene Produkte

Isilon, PowerScale OneFS, Isilon Platform API
Artikeleigenschaften
Artikelnummer: 000132770
Artikeltyp: Solution
Zuletzt geändert: 30 Jän. 2026
Version:  6
Antworten auf Ihre Fragen erhalten Sie von anderen Dell NutzerInnen
Support Services
Prüfen Sie, ob Ihr Gerät durch Support Services abgedeckt ist.