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

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

Bu makale şunlar için geçerlidir: Bu makale şunlar için geçerli değildir: Bu makale, belirli bir ürüne bağlı değildir. Bu makalede tüm ürün sürümleri tanımlanmamıştır.

Symptoms

Gerekli değil

Cause

Gerekli değil

Resolution

JSON'a Giriş

PAPI, JSON'u veri değişim biçimi olarak kullanır ve kaynakları oluşturmak, değiştirmek veya silmek için PAPI'yi kullanmak için nasıl yararlanılacağı anlamak kritik önem taşır. JSON hakkında daha fazla bilgi www.json.org ancak temel ilke, tamamen bağımsız programlama dilidir ve iki yapı üzerine inşa edilir:
  • Ad/değer çiftleri koleksiyonu
  • Sipariş edilen değerler listesi

Sistem nesnesi almadan örnek çıktı şu şekilde görünür:

{
"<nesne>": {
"<özellik>": <değer>,
...
}

Bir nesne oluşturmak için HANGI JSON metinini POST'a ihtiyacımız olduğunu bilmek için şu isteği göndererek PAPI self belgelerine bakın:
GET /platform/1/quota/quotas?describe

Burada ilgili Powershell kodu açıklanmalıdır: 

#Get için PAPI
kendi kendine belgeler$resource = "/platform/1/quota/quotas?describe"
$uri = $baseurl + $resource
$ISIObject = Invoke-RestMethod -Uri $uri -Headers $headers -Method Get
$ISIObject

 

Aşağıdaki örnek çıktıda, yeni bir kota oluşturmak için POST yapmanız gerekenler özetlenmiştir. İlgili isi komutu için gereken özelliklerle aynı özelliklere sahip olmamasından gerekli özelliklere dikkat edin.

SLN319398_en_US__1i_isilon_1-powershell

Örnek özellikleri kullanarak aşağıda, bir dizin sabit kotası oluşturmak için kullanılan ö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 kalan tek şey Invoke-RestMethod parametrelerini oluşturmak ve göndermektir. Aşağıdaki örnek kodda, JSON dizesi POST'un gövdesidir ve içerik türü uygulama/json'dır:

$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: (charset=utf-8" -Yöntem POST
Yazma Ana Bilgisayarı " Sonuç Kota Kimliği: " $ISIObject.id

Her Şey Bir Arada

Bir örnek kullanarak ortamınıza tek bir ana dizin altında kullanıcılar için birçok ana dizin olduğunu varsayalım (örnek: /ifs/home) ve bu ana dizinlerin her biri için dizin kotaları ayarlamak istiyorsunuz. Her bir kullanıcı ana dizinine yol almak için Ad Alanı (RAN) API'sine Isilon RESTful Erişimi kullanın. Aşağıdaki kod, belirtilen bir yol alt dizinlerini alır ve ardından her alt dizinde bir dizin kotası oluşturur:
 

# Belirtilen yol alt
dizinlerini alın$resource = '/namespace/' + $path
$uri = $baseurl + $resource
$ISIObject = Invoke-RestMethod -Uri $uri -Headers $headers -Method Get#Loop through each (# Belirtilen yol alt dizinlerini alın$headers -Yöntem Al
#Loop dizin ve set the quota
ForEach($folder in $ISIObject.children) {

#Create quota
$resource ="/platform/1/quota/quota/quotas"
Write-Host "Setting a $quotasize byte quota on $quotapath"
$QuotaObject = @" (İngilizce)
{"type":"directory","include_snapshots": false,"container": true, "path": "$quotapath", "zorunlu": doğru, "eşikler": {"hard":$quotasize},"thresholds_include_overhead": false}
"@
$headers = @{"Authorization"="Temel $($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: (charset=utf-8" -Yöntem POST
Yazma Ana Bilgisayarı " Sonuç Kota Kimliği: " $ISIObject2.id
}

Bu gönderiye eklenen komut dosyasını çalıştırmanın çıktısı:

SLN319398_en_US__2i_isilon_2-powershell
SLN319398_en_US__3i_isilon_3-powershell

Etkilenen Ürünler

Isilon, PowerScale OneFS, Isilon Platform API
Makale Özellikleri
Article Number: 000132770
Article Type: Solution
Son Değiştirme: 12 Eki 2023
Version:  5
Sorularınıza diğer Dell kullanıcılarından yanıtlar bulun
Destek Hizmetleri
Aygıtınızın Destek Hizmetleri kapsamında olup olmadığını kontrol edin.