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

摘要: Bu makalede, Powershell ve PAPI (platform API) kullanılarak bir kümeye nasıl bağlanacakları açıklanmaktadır.

本文适用于 本文不适用于 本文并非针对某种特定的产品。 本文并非包含所有产品版本。

症状

yok

原因

yok

解决方案

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

受影响的产品

Isilon, PowerScale OneFS, Isilon Platform API
文章属性
文章编号: 000177716
文章类型: Solution
上次修改时间: 11 12月 2023
版本:  6
从其他戴尔用户那里查找问题的答案
支持服务
检查您的设备是否在支持服务涵盖的范围内。