Altın Konu Microsoft Azure - Tablolar

Nizam-ı Alem

Asalet kana değil, duruşa bakar.
Katılım
15 May 2013
Konular
1,207
Mesajlar
7,322
Çözüm
6
Online süresi
2mo 16d
Reaksiyon Skoru
5,959
Altın Konu
410
Başarım Puanı
349
MmoLira
45,966
DevLira
3
Ticaret - 0%
0   0   0

ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!

Burada tablo depolamak, ilişkisel veritabanı anlamına gelmez. Azure Depolama, yabancı anahtarlar veya başka herhangi bir ilişki türü olmadan yalnızca bir tablo depolayabilir. Bu tablolar oldukça ölçeklenebilir ve büyük miktarda veriyi işlemek için idealdir. Tablolar, büyük miktarda veri için depolanabilir ve sorgulanabilir. İlişkisel veritabanı, ayrı bir hizmet olan SQL Veri Hizmetleri kullanılarak depolanabilir.

Hizmetin üç ana bölümü şunlardır:

Tablolar
Varlıklar
Özellikler
Örneğin, Kitap bir varlık ise, özellikleri Kimlik, Başlık, Yayıncı, Yazar vb. olacaktır. Bir varlık koleksiyonu için tablo oluşturulacaktır. 252 özel özellik ve 3 sistem özelliği olabilir. Bir varlığın her zaman PartitionKey, RowKey ve Timestamp olan sistem özellikleri olacaktır. Timestamp sistem tarafından oluşturulur, ancak tabloya veri eklerken PartitionKey ve RowKey'i belirtmeniz gerekir. Aşağıdaki örnek bunu daha net hale getirecektir. Tablo adı ve Özellik adı büyük/küçük harf duyarlıdır ve tablo oluştururken her zaman dikkate alınmalıdır.

PowerShell Kullanarak Tabloları Yönetme
Adım 1 − Daha önce bu eğitimde anlatıldığı gibi Windows PowerShell'i indirin ve kurun.

Adım 2 − Windows PowerShell'e sağ tıklayın, bilgisayarınızın görev çubuğuna sabitlemek için "Görev Çubuğuna Sabitle"yi seçin.

Adım 3 − "ISE'yi Yönetici Olarak Çalıştır"ı seçin.

Tablo Oluşturma
Adım 1 − Aşağıdaki komutları kopyalayın ve ekrana yapıştırın. Vurgulanan metni hesabınızla değiştirin.

Adım 2 − Hesabınıza giriş yapın.

Kod:
$StorageAccountName = "mystorageaccount"
$StorageAccountKey = "mystoragekey"
$Ctx = New-AzureStorageContext $StorageAccountName - StorageAccountKey
$StorageAccountKey

3. Adım − Yeni bir tablo oluşturun.

Kod:
$tabName = "Mytablename"
New-AzureStorageTable Name $tabName Context $Ctx

Aşağıdaki görselde, kitap adına göre oluşturulan bir tablo gösterilmektedir.



Gördüğünüz gibi, sonuç olarak aşağıdaki son nokta elde edilmiştir.

Kod:
turkmmo.table.core.windows.net/Book

Benzer şekilde, PowerShell'de önceden tanımlanmış komutları kullanarak tablodan veri alabilir, silebilir ve ekleyebilirsiniz.

Tablodan Veri Alma

Kod:
$tabName = "Book"
Get-AzureStorageTable Name $tabName Context $Ctx

Tabloyu Sil

Kod:
$tabName = "Kitap"
Remove-AzureStorageTable Name $tabName Context $Ctx

Tabloya satır ekle

Kod:
function Add-Entity() {
   [CmdletBinding()]
    
   param(
      $table,
      [String]$partitionKey,
      [String]$rowKey,
      [String]$title,
      [Int]$id,
      [String]$publisher,
      [String]$author
   ) 
  
   $entity = New-Object -TypeName Microsoft.WindowsAzure.Storage.Table.DynamicTableEntity
      -ArgumentList $partitionKey, $rowKey
        
   $entity.Properties.Add("Title", $title)
   $entity.Properties.Add("ID", $id)
   $entity.Properties.Add("Publisher", $publisher)
   $entity.Properties.Add("Author", $author)
  
  
   $result = $table.CloudTable.Execute(
      [Microsoft.WindowsAzure.Storage.Table.TableOperation]
      ::Insert($entity))
}
 
$StorageAccountName = "turkmmo"
$StorageAccountKey = Get-AzureStorageKey -StorageAccountName $StorageAccountName
$Ctx = New-AzureStorageContext $StorageAccountName - StorageAccountKey
   $StorageAccountKey.Primary 

$TableName = "Book"
 
$table = Get-AzureStorageTable Name $TableName -Context $Ctx -ErrorAction Ignore
 
#Add multiple entities to a table.
Add-Entity -Table $table -PartitionKey Partition1 -RowKey Row1 -Title .Net -Id 1
   -Publisher abc -Author abc
Add-Entity -Table $table -PartitionKey Partition2 -RowKey Row2 -Title JAVA -Id 2
   -Publisher abc -Author abc
Add-Entity -Table $table -PartitionKey Partition3 -RowKey Row3 -Title PHP -Id 3
   -Publisher xyz -Author xyz
Add-Entity -Table $table -PartitionKey Partition4 -RowKey Row4 -Title SQL -Id 4
   -Publisher xyz -Author xyz

Tablo Verilerini Al

Kod:
$StorageAccountName = "turkmmo"
$StorageAccountKey = Get-AzureStorageKey - StorageAccountName $StorageAccountName
$Ctx = New-AzureStorageContext  StorageAccountName $StorageAccountName -
   StorageAccountKey $StorageAccountKey.Primary;

$TableName = "Book"
 
#Get a reference to a table.
$table = Get-AzureStorageTable Name $TableName -Context $Ctx 

#Create a table query.
$query = New-Object Microsoft.WindowsAzure.Storage.Table.TableQuery

#Define columns to select.
$list = New-Object System.Collections.Generic.List[string]
$list.Add("RowKey")
$list.Add("ID")
$list.Add("Title")
$list.Add("Publisher")
$list.Add("Author")
 
#Set query details.
$query.FilterString = "ID gt 0"
$query.SelectColumns = $list
$query.TakeCount = 20
 
#Execute the query.
$entities = $table.CloudTable.ExecuteQuery($query)

#Display entity properties with the table format.

$entities  | Format-Table PartitionKey, RowKey, @{ Label = "Title";
Expression={$_.Properties["Title"].StringValue}}, @{ Label = "ID";
Expression={$_.Properties[ID].Int32Value}}, @{ Label = "Publisher";
Expression={$_.Properties[Publisher].StringValue}}, @{ Label = "Author";
Expression={$_.Properties[Author].StringValue}} -AutoSize

Çıktı aşağıdaki resimde gösterildiği gibi olacaktır.



Tablodan Satırları Sil

Kod:
$StorageAccountName = "turkmmo"
 
$StorageAccountKey = Get-AzureStorageKey - StorageAccountName $StorageAccountName
$Ctx = New-AzureStorageContext  StorageAccountName $StorageAccountName -
   StorageAccountKey $StorageAccountKey.Primary 

#Retrieve the table.
$TableName = "Book"
$table = Get-AzureStorageTable -Name $TableName -Context $Ctx -ErrorAction
Ignore

#If the table exists, start deleting its entities.
if ($table -ne $null) {
   #Together the PartitionKey and RowKey uniquely identify every   
   #entity within a table.
    
   $tableResult = $table.CloudTable.Execute(
      [Microsoft.WindowsAzure.Storage.Table.TableOperation]
      ::Retrieve(Partition1, "Row1"))
        
   $entity = $tableResult.Result;
    
   if ($entity -ne $null) {
      $table.CloudTable.Execute(
         [Microsoft.WindowsAzure.Storage.Table.TableOperation]
         ::Delete($entity))
   }
}

Yukarıdaki komut dosyası, gördüğünüz gibi Partition1 ve Row1'i belirterek tablonun ilk satırını silecektir. Satır silme işlemi tamamlandıktan sonra, satırları geri almak için komut dosyasını çalıştırarak sonucu kontrol edebilirsiniz. Orada ilk satırın silindiğini göreceksiniz.

Bu komutları çalıştırırken lütfen accountname'i kendi hesap adınızla, accountkey'i ise kendi hesap anahtarınızla değiştirdiğinizden emin olun.

Azure Depolama Gezgini Kullanarak Tablo Nasıl Yönetilir?
Adım 1 − Azure hesabınıza giriş yapın ve depolama hesabınıza gidin.

Adım 2 − Aşağıdaki resimde mor daire içinde gösterildiği gibi Depolama Gezgini bağlantısına tıklayın.



3. Adım − Listeden Windows için Azure Depolama Gezgini'ni seçin. Bu, bilgisayarınıza indirip kurabileceğiniz ücretsiz bir araçtır.

4. Adım − Bu programı bilgisayarınızda çalıştırın ve üst kısımda bulunan Hesap Ekle düğmesine tıklayın.

5. Adım − Depolama Hesabı Adı ve Depolama Hesabı Anahtarını girin ve Erişimi Test Et düğmesine tıklayın. Düğmeler aşağıdaki resimde daire içine alınmıştır.



Adım 6 − Eğer depoda zaten tablolarınız varsa, sol panelde Tablolar altında göreceksiniz. Üzerlerine tıklayarak satırları görebilirsiniz.

Tablo Oluşturma
Adım 1 − Yeni'ye tıklayın ve aşağıdaki resimde gösterildiği gibi tablo adını girin.



Tabloya Satır Ekleme
Adım 1 − Yeni'ye tıklayın.

Adım 2 − Alan Adını girin.

Adım 3 − Açılır menüden veri türünü seçin ve alan değerini girin.



4. Adım − Oluşturulan satırları görmek için sol paneldeki tablo adına tıklayın.

Azure Storage Explorer, tabloları yönetmek için çok temel ve kolay bir arayüzdür. Bu arayüzü kullanarak tabloları kolayca oluşturabilir, silebilir, yükleyebilir ve indirebilirsiniz. Bu, geliştiriciler için Windows PowerShell'de uzun komut dosyaları yazmaya kıyasla görevleri çok kolaylaştırır.
 
Eline Sağlık
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)