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.

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

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ı  

Affected Products

Isilon, PowerScale OneFS, Isilon Platform API
Article Properties
Article Number: 000132770
Article Type: Solution
Last Modified: 02 Apr 2026
Version:  7
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.