Microsoft Azure - Tables

Stocker une table ne signifie pas ici une base de données relationnelle. Le stockage Azure peut stocker uniquement une table sans aucune clé étrangère ni aucun autre type de relation. Ces tables sont hautement évolutives et idéales pour gérer une grande quantité de données. Les tables peuvent être stockées et interrogées pour une grande quantité de données. La base de données relationnelle peut être stockée à l'aide de SQL Data Services, qui est un service distinct.

Les trois principales parties du service sont -

  • Tables
  • Entities
  • Properties

Par exemple, si «Livre» est une entité, ses propriétés seront Id, Titre, Éditeur, Auteur, etc. La table sera créée pour une collection d'entités. Il peut y avoir 252 propriétés personnalisées et 3 propriétés système. Une entité aura toujours des propriétés système qui sont PartitionKey, RowKey et Timestamp. L'horodatage est généré par le système mais vous devrez spécifier la PartitionKey et la RowKey lors de l'insertion de données dans la table. L'exemple ci-dessous le rendra plus clair. Le nom de table et le nom de propriété sont sensibles à la casse, ce qui doit toujours être pris en compte lors de la création d'une table.

Comment gérer les tables à l'aide de PowerShell

Step 1 - Téléchargez et installez Windows PowerShell comme indiqué précédemment dans le didacticiel.

Step 2 - Faites un clic droit sur «Windows PowerShell», choisissez «Épingler à la barre des tâches» pour l'épingler sur la barre des tâches de votre ordinateur.

Step 3 - Choisissez "Exécutez ISE en tant qu'administrateur".

Créer une table

Step 1- Copiez les commandes suivantes et collez-les dans l'écran. Remplacez le texte en surbrillance par votre compte.

Step 2 - Connectez-vous à votre compte.

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

Step 3 - Créez une nouvelle table.

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

L'image suivante montre une table créée sous le nom de «livre».

Vous pouvez voir qu'il a donné le point final suivant en conséquence.

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

De même, vous pouvez récupérer, supprimer et insérer des données dans la table à l'aide de commandes prédéfinies dans PowerShell.

Récupérer la table

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

Supprimer la table

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

Insérer des lignes dans le tableau

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

Récupérer les données de la table

$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

La sortie sera comme indiqué dans l'image suivante.

Supprimer des lignes de la table

$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)) 
   } 
}

Le script ci-dessus supprimera la première ligne de la table, car vous pouvez voir que nous avons spécifié Partition1 et Row1 dans le script. Une fois la suppression de la ligne terminée, vous pouvez vérifier le résultat en exécutant le script de récupération des lignes. Là, vous verrez que la première ligne est supprimée.

Lors de l'exécution de ces commandes, assurez-vous que vous avez remplacé le nom de compte par votre nom de compte, la clé de compte par votre clé de compte.

Comment gérer la table à l'aide de l'explorateur de stockage Azure

Step 1 - Connectez-vous à votre compte Azure et accédez à votre compte de stockage.

Step 2 - Cliquez sur le lien 'Explorateur de stockage' comme indiqué dans le cercle violet dans l'image suivante.

Step 3- Choisissez «Explorateur de stockage Azure pour Windows» dans la liste. C'est un outil gratuit que vous pouvez télécharger et installer sur votre ordinateur.

Step 4 - Exécutez ce programme sur votre ordinateur et cliquez sur le bouton «Ajouter un compte» en haut.

Step 5- Entrez "Nom du compte de stockage" et "Clé du compte de stockage" et cliquez sur "Tester l'accès. Les boutons sont encerclés dans l'image suivante.

Step 6- Si vous avez déjà des tables en stock, vous verrez dans le panneau de gauche sous «Tables». Vous pouvez voir les lignes en cliquant dessus.

Créer une table

Step 1 - Cliquez sur «Nouveau» et entrez le nom de la table comme indiqué dans l'image suivante.

Insérer une ligne dans le tableau

Step 1 - Cliquez sur «Nouveau».

Step 2 - Entrez le nom du champ.

Step 3 - Sélectionnez le type de données dans la liste déroulante et entrez la valeur du champ.

Step 4 - Pour voir les lignes créées, cliquez sur le nom de la table dans le panneau de gauche.

Azure Storage Explorer est une interface très basique et simple pour gérer les tables. Vous pouvez facilement créer, supprimer, télécharger et télécharger des tableaux à l'aide de cette interface. Cela rend les tâches très faciles pour les développeurs par rapport à l'écriture de longs scripts dans Windows PowerShell.