Isilon: Powershell'i Platform API ile Kullanma - Nesne ve RAN Oluşturma

Summary: Bu makalede, nesne ve RAN oluşturmak için OneFS Platform API ile Powershell'in nasıl kullanılacağı açıklanmaktadır.

Acest articol se aplică pentru Acest articol nu se aplică pentru Acest articol nu este legat de un produs specific. Acest articol nu acoperă toate versiunile de produs existente.

Symptoms

Gerekli değil

Cause

Gerekli değil

Resolution

JSON'a Giriş

PAPI, veri değişim biçimi olarak JSON'u kullanır. Kaynakları oluşturmak, değiştirmek veya silmek için PAPI'yi kullanmak üzere BT'den nasıl yararlanılacağını anlamak kritik önem taşır. JSON hakkında daha fazla bilgiyi www.json.orgBu köprü bağlantı sizi Dell Technologies dışındaki bir web sitesine yönlendirir. adresinde bulabilirsiniz. Temel ilke, tamamen bağımsız bir programlama dili olması ve iki yapı üzerine inşa edilmiş olmasıdır:

  • Ad ve değer çiftleri koleksiyonu
  • Sıralı bir değer listesi

API nesnesi almanın örnek çıktısı şöyle görünebilir:

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

 

Hangi JSON metin çıktılarının kullanılabilir olduğunu bilmek için, bir nesne oluşturmak üzere bir POST komutu vermeliyiz; aşağıdaki isteği göndererek PAPI öz belgelerine bakın:

GET /platform/1/quota/quotas?describe 

İlgili Powershell kodu aşağıda verilmiştir:

#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

 

Aşağıdaki örnek çıktı, yeni bir kota oluşturmak için yapmanız gerekenleri özetlemektedir. Gerekli özelliklere dikkat edin, çünkü bunlar karşılık gelen için gereken özelliklerle aynı olmayabilir. isi yaparsınız.

komut çıkışı  

Örnek özellikleri kullanarak, aşağıda bir dizin sabit kotası oluşturmak için kullanılabilecek örnek bir JSON dizesi verilmiştir:

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

 

JSON dizesi tamamlandığında, geriye kalan tek şey Invoke-RestMethod parametreler ve gönder. Aşağıdaki örnek kodda, JSON dizesi POST'un gövdesidir ve içerik tü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
 

Hepsini Bir Araya Getirin

Bir örnek kullanarak, ortamınızın tek bir ana dizin altında kullanıcılar için birçok ana dizine sahip olduğunu varsayalım (örnek: /ifs/home) eklediyseniz ve bu ana dizinlerin her biri için dizin kotaları ayarlamak istiyorsunuz. Her kullanıcı ana dizininin yollarını almak için Isilon RESTful Access to the namespace (RAN) API'sini kullanın. Aşağıdaki kod, belirli bir yolun alt dizinlerini alır ve ardından her alt dizin için bir dizin kotası ayarlar:
 

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

 

İşte bu gönderiye ekli komut dosyasını çalıştırmanın çıktısı:

Komut dosyası çıktısı  
Komut dosyası çıktısı  

Produse afectate

Isilon, PowerScale OneFS, Isilon Platform API
Proprietăți articol
Article Number: 000132770
Article Type: Solution
Ultima modificare: 02 apr. 2026
Version:  7
Găsiți răspunsuri la întrebările dvs. de la alți utilizatori Dell
Servicii de asistență
Verificați dacă dispozitivul dvs. este acoperit de serviciile de asistență.