Isilon. Использование Powershell с платформенный API- создание объектов и RAN

Zusammenfassung: В этой статье объясняется, как использовать Powershell с API-интерфейсом платформы OneFS для создания объектов и 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

Не требуется

Ursache

Не требуется

Lösung

Основные сведения о JSON

PAPI использует JSON в качестве формата обменов данными, и очень важно понимать, как его использовать для создания, изменения или удаления ресурсов с помощью PAPI. Подробнее о JSON можно узнать на сайте www.json.org но ключевой принцип заключается в том, что он является полностью независимым языком программирования и построен на двух структурах:
  • Набор пар «имя/значение»
  • Упорядоченный список значений

Пример вывода при просмотре системного объекта будет выглядеть следующим образом:

{
"<объект>": {
"<свойство>": <значение>,
...
}

Чтобы узнать, какой текст JSON необходимо выполнить POST для создания объекта, просмотрите самостоятельная документация PAPI, отправив следующий запрос:
GET /platform/1/quota/quotas?describe 

Здесь приведен соответствующий код Powershell:

#Get с самостоятельной документацией ПО PAPI
для квот$resource = "/platform/1/quota/quota/quotas?describe"
$uri = $baseurl + $resource
$ISIObject = Invoke-RestMethod -Uri $uri -Headers $headers -Method Get
$ISIObject

 

В приведенном ниже примере показаны действия, необходимые для выполнения процедуры POST для создания новой квоты. Обратите внимание на необходимые свойства, так как они могут не совпадать с свойствами, требуемые для соответствующей команды isi.

SLN319398_en_US__1i_isilon_1 PowerShell

При использовании свойств в примере приведен пример строки JSON, которую можно использовать для создания жесткой квоты каталога:

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

После завершения строки JSON остается только создать параметры Invoke-RestMethod и отправить их. В приведенном ниже примере строка JSON является основной частью POST, а тип содержимого — application/json:

$headers = @{"Authorization"="Basic $($EncodedPassword)"}
$uri = $baseurl + $resource
$ISIObject = Invoke-RestMethod -Uri $uri -Headers $headers -Body $QuotaObject -ContentType "application/json; charset=utf-8" - Метод POST
Write-Host " Итоговая идентификатор квоты: « $ISIObject.id

Объединение всех компонентов

В примере предположим, что в вашей среде есть много домашних каталогов для пользователей в одном родительском каталоге (например: /ifs/home) и вы хотите установить квоты каталогов для каждого из этих домашних каталогов. Используйте Isilon RESTful Access to the Namespace (RAN) API, чтобы получить пути к домашнему каталогу каждого пользователя. Следующий код будет получать подкаталоги заданный путь, а затем устанавливать квоту каталога для каждого подкаталога:
 

# Получите подкаталоги пути
$resource = «/namespace/» + $path
$uri = $baseurl + $resource
$ISIObject = Invoke-RestMethod -Uri $uri -Headers $headers -Method Get
#Loop through каждый
каталог и задайте квоту ForEach ($folder в $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», «принудительно»: true, «пороговые значения»: {"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" - Метод POST
Write-Host " Итоговая идентификатор квоты: " $ISIObject2.id
}

Ниже приведены выходные данные при выполнении сценария, подключенного к этой публикации:

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.