Isilon: Powershell'i Platform API ile Kullanma - Temel Bilgiler (İngilizce)

Summary: Bu makalede, Powershell ve PAPI (platform API) kullanılarak bir kümeye nasıl bağlanacakları 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

yok

Cause

yok

Resolution

Not: Bu konu, Isilon SDK - Isilon Bilgi Merkezi'nin bir parçasıdır.

Giriş
Yeni RESTful platform API'si (PAPI) kullanıma sunulurken Artık Powershell kullanarak Isilon kümelerini otomatikleştirmek ve yönetmek için çok daha kolay ve daha zarif bir yolu vardır. Bu makalede, Powershell ve PAPI kullanarak bir kümeye bağlanmayla ilgili temel bilgiler açıklanmaktadır.

OneFS sürümünüz için PAPI referans kılavuzunu buradan indirip okumanız kesinlikle önerilir.

PAPI, REST aracılığıyla kümeye erişim sağlandığından GET, POST, PUT ve DELETE gibi HTTP yöntemlerini kullanarak kaynakları değiştirebilirsiniz. Nesnelerin ve koleksiyonların gösterimleri JSON biçimli belgeler olarak değiştiriler. PAPI'yi kullanmak için WebUI'de oturum açmak ve aşağıdakilere giderek kümede HTTP'yi etkinleştirmeniz gerekir: Protokol>HTTP Ayarları>HTTP'yi etkinleştir.

Powershell v3

Powershell v3, RESTful erişimi basitleştiren yerleşik yöntemlere sahip. Powershell v3 indirmeniz ve burada bulunan .NET Framework sürüm 4'ü yüklemeniz yoksa şu $PSVersionTable değerine bakarak mevcut Powershell

SLN319397_en_US__1i_isilon_powershell-2

sürümünüzü kontrol edin.
Ardından uygun v3 yönetim çerçevesini buradan indirip takın.

Kümeye bağlanma

Aşağıdaki komut dosyası Isilon IP adresi veya ana bilgisayar adı, kullanıcı adı ve parola için parametreleri kabul eder:

# Parametre([String]$isilonip
,[String]$username,[String]$password) giriş parametrelerini kabul edin

Kümedeki kaynaklara erişmek için uygun parametrelerle "Invoke-RestMethod" (Invoke-RestMethod) komutunu kullanıruz. Bu yöntem, URI dizesi, gövde (POST için kullanılır), üst bilgi vb. gibi çeşitli parametreler kullanır. Aşağıdaki kod, ihtiyacımız olan başlık bilgilerini ve erişim için temel URL'yi oluşturur:

# Temel yetkilendirme başlığını kodlayın ve baseurl
$EncodedAuthorization = [System.Text.Encode]::UTF8 oluşturun. GetBytes ($username + ':' + $password)
$EncodedPassword = [System.Convert]::ToBase64String($EncodedAuthorization)
$headers = @{"Authorization"="Basic $($EncodedPassword)"
$baseurl = 'https://' + $isilonip +":8080"

Bu örnekte kotalara erişacağız. Son URI'yi oluşturmak için "Invoke-RestMethod" (Invoke-RestMethod) öğesine ekley rondelayı temel URL'ye ekleyin. PAPI belgelerine bakarak bir kaynak koleksiyonuna aşağıdaki biçimde "/platform/1/namespace></<collection-name" erişilir>. Örneğin, kümede tanımlanan tüm kotaları temsil eden nesnelerin koleksiyonunu almak istiyorsanız "/platform/1/quota/quota/quotas" elde etmek gerekir.

$resourceurl = "/platform/1/quota/quotas"
$uri = $baseurl + $resourceurl

Şimdi Invoke-RestMethod(Invoke-RestMethod) adı verilir ve ardından kota koleksiyonunu içeren döndürülen nesneye erişin:
$ISIObject = Invoke-RestMethod -Uri $url -Headers $headers -Method Get$ISIObject.quotas ($ISIObject = Invoke-RestMethod -Uri $url -Headers $headers -Yöntem Al
$ISIObject.quotas)

Komut dosyası çıktısının bir örneği aşağıda verilmiştir:
SLN319397_en_US__3i_isilon_powershell-3

SLN319397_en_US__2i_isilon_powershell

Kümede tanımlanan tüm kotaların ve bunların özelliklerini içeren bir liste bulunur. Bu yöntemi kullanarak PSv3, JSON çıktıyı otomatik olarak nesnelere dönüştürer.

Komut dosyası gövdesi:
##############################

Oluşturuldu: 18.09.2013, EMC NAS Uzmanı Central Division
# Tarafından Değiştirildi:

#
# ps_isilon_get_quotas_via_papi.ps1 - Isilon kümesindeki tüm kotaları al
# Not: PAPI'yi kullanmak için OneFS 7.0.2 veya üstü bir sürüme sahip olun ve kümede HTTP Erişimi etkinleştirilmelidir.
# #
# PARAMETERS
#
# -isilonip = node IP
# -username
# -password
# -path = /ifs directory path containing the directories that need quotas
# -quoatasize = size of quota bytes (ör. "500000")
# #

# EXAMPLE
# .\ps_isilon_get_quotas_via_papi.ps1 -isilonip 10.10.10.1 -user root -password P@ssword1
#
#
################################


#
Parametre([Dize]$isilonip,[Dize]$username,[Dize]$password)


# Giriş parametrelerini kabul et# Varsayılan bir sertifikayla normalde bir sertifika hatası (blogs.msdn.com)
add-type @"
using System.Net;
System.Security.Cryptography.X509Certificates kullanarak;

    genel sınıf TrustAll:  ICertificatePolicy {
public TrustAll() {}
public bool CheckValidationResult (
ServicePoint sPoint, X509Certificate cert,
WebRequest req, int problem) {
return true;
    }
}
"@
[System.Net.ServicePointManager]::CertificatePolicy = new-object TrustAll



#if
doğru parametreler aktarılamadı. (!) mesajından sonra çıkılır $isilonip -ve $username -ve $password )) { write "failed to specify parameters" (parametreler belirtilemedi) {
yazma;
   yazma "Örnek: .\ps_isilon_get_quotas_via_papi.ps1 -isilonip 192.168.1.2 -username root -password p@ssw0rd1" ;
   exit
}




# Encode basic authorization header and create baseurl
$EncodedAuthorization = [System.Text.Encode]::UTF8. GetBytes ($username + ':'     + $password)
$EncodedPassword = [System.Convert]::ToBase64String($EncodedAuthorization)
$headers = @{"Authorization"="Basic $($EncodedPassword)"}
$baseurl = 'https://' + $isilonip +":8080"
 

#
Tüm tanımlı kotaları alın $resourceurl = "/platform/1/quota/quotas"
$uri = $baseurl + $resourceurl
$ISIObject = Invoke-RestMethod -Uri $uri -Headers $headers -Method Get
$ISIObject.quotas

Affected Products

Isilon, PowerScale OneFS, Isilon Platform API
Article Properties
Article Number: 000177716
Article Type: Solution
Last Modified: 11 Dec 2023
Version:  6
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.