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

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

이 문서는 다음에 적용됩니다. 이 문서는 다음에 적용되지 않습니다. 이 문서는 특정 제품과 관련이 없습니다. 모든 제품 버전이 이 문서에 나와 있는 것은 아닙니다.

증상

Gerekli değil

원인

Gerekli değil

해결

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

해당 제품

Isilon, PowerScale OneFS, Isilon Platform API
문서 속성
문서 번호: 000132770
문서 유형: Solution
마지막 수정 시간: 30 1월 2026
버전:  6
다른 Dell 사용자에게 질문에 대한 답변 찾기
지원 서비스
디바이스에 지원 서비스가 적용되는지 확인하십시오.