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

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

Este artigo aplica-se a Este artigo não se aplica a Este artigo não está vinculado a nenhum produto específico. Nem todas as versões do produto estão identificadas neste artigo.

Sintomas

Gerekli değil

Causa

Gerekli değil

Resolução

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

Produtos afetados

Isilon, PowerScale OneFS, Isilon Platform API
Propriedades do artigo
Número do artigo: 000132770
Tipo de artigo: Solution
Último modificado: 12 out. 2023
Versão:  5
Encontre as respostas de outros usuários da Dell para suas perguntas.
Serviços de suporte
Verifique se o dispositivo está coberto pelos serviços de suporte.