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.
Bu makale şunlar için geçerlidir:
Bu makale şunlar için geçerli değildir:
Bu makale, belirli bir ürüne bağlı değildir.
Bu makalede tüm ürün sürümleri tanımlanmamıştır.
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
Etkilenen Ürünler
Isilon, PowerScale OneFS, Isilon Platform APIMakale Özellikleri
Article Number: 000177716
Article Type: Solution
Son Değiştirme: 11 Ara 2023
Version: 6
Sorularınıza diğer Dell kullanıcılarından yanıtlar bulun
Destek Hizmetleri
Aygıtınızın Destek Hizmetleri kapsamında olup olmadığını kontrol edin.