Microsoft Azure - Tabellen

Das Speichern einer Tabelle bedeutet hier keine relationale Datenbank. Azure Storage kann nur eine Tabelle ohne Fremdschlüssel oder andere Beziehungen speichern. Diese Tabellen sind hoch skalierbar und ideal für die Verarbeitung großer Datenmengen. Tabellen können für große Datenmengen gespeichert und abgefragt werden. Die relationale Datenbank kann mit SQL Data Services gespeichert werden, einem separaten Dienst.

Die drei Hauptteile des Dienstes sind -

  • Tables
  • Entities
  • Properties

Wenn 'Buch' beispielsweise eine Entität ist, lauten die Eigenschaften ID, Titel, Herausgeber, Autor usw. Für eine Sammlung von Entitäten wird eine Tabelle erstellt. Es können 252 benutzerdefinierte Eigenschaften und 3 Systemeigenschaften vorhanden sein. Eine Entität verfügt immer über Systemeigenschaften wie PartitionKey, RowKey und Timestamp. Der Zeitstempel wird vom System generiert, Sie müssen jedoch den PartitionKey und den RowKey angeben, während Sie Daten in die Tabelle einfügen. Das folgende Beispiel macht es klarer. Tabellenname und Eigenschaftsname unterscheiden zwischen Groß- und Kleinschreibung, was beim Erstellen einer Tabelle immer berücksichtigt werden sollte.

Verwalten von Tabellen mit PowerShell

Step 1 - Laden Sie Windows PowerShell herunter und installieren Sie es wie zuvor im Lernprogramm beschrieben.

Step 2 - Klicken Sie mit der rechten Maustaste auf "Windows PowerShell" und wählen Sie "An Taskleiste anheften", um es an die Taskleiste Ihres Computers anzuheften.

Step 3 - Wählen Sie "ISE als Administrator ausführen".

Erstellen einer Tabelle

Step 1- Kopieren Sie die folgenden Befehle und fügen Sie sie in den Bildschirm ein. Ersetzen Sie den markierten Text durch Ihr Konto.

Step 2 - Melden Sie sich in Ihrem Konto an.

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

Step 3 - Erstellen Sie eine neue Tabelle.

$tabName = "Mytablename" 
New-AzureStorageTable –Name $tabName –Context $Ctx

Das folgende Bild zeigt eine Tabelle, die unter dem Namen "Buch" erstellt wird.

Sie können sehen, dass der folgende Endpunkt angegeben wurde.

https://tutorialspoint.table.core.windows.net/Book

Ebenso können Sie Daten mit voreingestellten Befehlen in PowerShell abrufen, löschen und in die Tabelle einfügen.

Tabelle abrufen

$tabName = "Book" 
Get-AzureStorageTable –Name $tabName –Context $Ctx

Tabelle löschen

$tabName = "Book"
Remove-AzureStorageTable –Name $tabName –Context $Ctx

Zeilen in Tabelle einfügen

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 = "tutorialspoint" 
$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

Tabellendaten abrufen

$StorageAccountName = "tutorialspoint" 
$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

Die Ausgabe erfolgt wie im folgenden Bild gezeigt.

Zeilen aus Tabelle löschen

$StorageAccountName = "tutorialspoint" 
 
$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)) 
   } 
}

Das obige Skript löscht die erste Zeile aus der Tabelle, da Sie sehen können, dass wir Partition1 und Zeile1 im Skript angegeben haben. Nachdem Sie die Zeile gelöscht haben, können Sie das Ergebnis überprüfen, indem Sie das Skript zum Abrufen von Zeilen ausführen. Dort sehen Sie, dass die erste Zeile gelöscht wird.

Stellen Sie beim Ausführen dieser Befehle sicher, dass Sie den Kontonamen durch Ihren Kontonamen und den Kontoschlüssel durch Ihren Kontoschlüssel ersetzt haben.

Verwalten von Tabellen mit Azure Storage Explorer

Step 1 - Melden Sie sich bei Ihrem Azure-Konto an und wechseln Sie zu Ihrem Speicherkonto.

Step 2 - Klicken Sie auf den Link 'Speicher-Explorer', wie im folgenden Bild im violetten Kreis dargestellt.

Step 3- Wählen Sie "Azure Storage Explorer für Windows" aus der Liste. Es ist ein kostenloses Tool, das Sie herunterladen und auf Ihrem Computer installieren können.

Step 4 - Führen Sie dieses Programm auf Ihrem Computer aus und klicken Sie oben auf die Schaltfläche "Konto hinzufügen".

Step 5- Geben Sie den Namen des Speicherkontos und den Schlüssel des Speicherkontos ein und klicken Sie auf "Zugriff testen". Die Schaltflächen sind im folgenden Bild eingekreist.

Step 6- Wenn Sie bereits Tabellen gespeichert haben, sehen Sie diese im linken Bereich unter 'Tabellen'. Sie können die Zeilen sehen, indem Sie darauf klicken.

Erstellen Sie eine Tabelle

Step 1 - Klicken Sie auf 'Neu' und geben Sie den Tabellennamen ein, wie im folgenden Bild gezeigt.

Zeile in Tabelle einfügen

Step 1 - Klicken Sie auf "Neu".

Step 2 - Geben Sie den Feldnamen ein.

Step 3 - Wählen Sie den Datentyp aus der Dropdown-Liste und geben Sie den Feldwert ein.

Step 4 - Um die erstellten Zeilen anzuzeigen, klicken Sie auf den Tabellennamen im linken Bereich.

Azure Storage Explorer ist eine sehr einfache und einfache Oberfläche zum Verwalten von Tabellen. Über diese Schnittstelle können Sie ganz einfach Tabellen erstellen, löschen, hochladen und herunterladen. Dies macht die Aufgaben für Entwickler im Vergleich zum Schreiben langer Skripts in Windows PowerShell sehr einfach.