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.
sürümünüzü kontrol edin.
Ardından uygun v3 yönetim çerçevesini buradan indirip takın.
# 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:
Komut dosyası çıktısının bir örneği aşağıda verilmiştir:
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:
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
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)
$ISIObject.quotas)
Komut dosyası çıktısının bir örneği aşağıda verilmiştir:
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
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 APIArticle Properties
Article Number: 000177716
Article Type: Solution
Last Modified: 11 ديسمبر 2023
Version: 6
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.