Microsoft Azure - Tabelas

Armazenar uma tabela não significa banco de dados relacional aqui. O Armazenamento do Azure pode armazenar apenas uma tabela sem nenhuma chave estrangeira ou qualquer outro tipo de relação. Essas tabelas são altamente escaláveis ​​e ideais para lidar com uma grande quantidade de dados. As tabelas podem ser armazenadas e consultadas para grande quantidade de dados. O banco de dados relacional pode ser armazenado usando o SQL Data Services, que é um serviço separado.

As três partes principais do serviço são -

  • Tables
  • Entities
  • Properties

Por exemplo, se 'Livro' é uma entidade, suas propriedades serão Id, Título, Editor, Autor etc. A tabela será criada para uma coleção de entidades. Pode haver 252 propriedades personalizadas e 3 propriedades do sistema. Uma entidade sempre terá propriedades do sistema que são PartitionKey, RowKey e Timestamp. O carimbo de data / hora é gerado pelo sistema, mas você terá que especificar a PartitionKey e a RowKey ao inserir dados na tabela. O exemplo abaixo tornará isso mais claro. O nome da tabela e o nome da propriedade diferenciam maiúsculas de minúsculas, o que sempre deve ser considerado ao criar uma tabela.

Como gerenciar tabelas usando o PowerShell

Step 1 - Baixe e instale o Windows PowerShell conforme discutido anteriormente no tutorial.

Step 2 - Clique com o botão direito em 'Windows PowerShell', escolha 'Fixar na barra de tarefas' para fixá-lo na barra de tarefas do seu computador.

Step 3 - Escolha 'Executar ISE como Administrador'.

Criação de uma mesa

Step 1- Copie os seguintes comandos e cole na tela. Substitua o texto destacado por sua conta.

Step 2 - Faça login em sua conta.

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

Step 3 - Crie uma nova tabela.

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

A imagem a seguir mostra uma tabela sendo criada com o nome de 'livro'.

Você pode ver que deu o seguinte ponto final como resultado.

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

Da mesma forma, você pode recuperar, excluir e inserir dados na tabela usando comandos predefinidos no PowerShell.

Recuperar Tabela

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

Apagar Tabela

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

Inserir linhas na tabela

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

Recuperar dados da tabela

$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

A saída será conforme mostrado na imagem a seguir.

Excluir linhas da tabela

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

O script acima excluirá a primeira linha da tabela, como você pode ver que especificamos Partition1 e Row1 no script. Depois de concluir a exclusão da linha, você pode verificar o resultado executando o script para recuperar as linhas. Lá você verá que a primeira linha foi excluída.

Ao executar esses comandos, certifique-se de ter substituído o nome da conta pelo nome da sua conta, accountkey pela chave da sua conta.

Como gerenciar a tabela usando o Azure Storage Explorer

Step 1 - Faça login em sua conta do Azure e vá para sua conta de armazenamento.

Step 2 - Clique no link 'Explorador de armazenamento' conforme mostrado no círculo roxo na imagem a seguir.

Step 3- Escolha 'Azure Storage Explorer para Windows' na lista. É uma ferramenta gratuita que você pode baixar e instalar no seu computador.

Step 4 - Execute este programa no seu computador e clique no botão 'Adicionar conta' na parte superior.

Step 5- Insira 'Nome da conta de armazenamento' e 'Chave da conta de armazenamento' e clique em 'Testar acesso. Os botões são circundados na imagem a seguir.

Step 6- Se você já tem tabelas armazenadas, verá no painel esquerdo em 'Tabelas'. Você pode ver as linhas clicando nelas.

Crie uma mesa

Step 1 - Clique em 'Novo' e insira o nome da mesa conforme mostrado na imagem a seguir.

Inserir linha na tabela

Step 1 - Clique em 'Novo'.

Step 2 - Digite o nome do campo.

Step 3 - Selecione o tipo de dados na lista suspensa e insira o valor do campo.

Step 4 - Para ver as linhas criadas clique no nome da tabela no painel esquerdo.

O Azure Storage Explorer é uma interface muito básica e fácil de gerenciar tabelas. Você pode criar, excluir, fazer upload e baixar tabelas facilmente usando esta interface. Isso torna as tarefas muito mais fáceis para os desenvolvedores em comparação com a escrita de scripts longos no Windows PowerShell.