Microsoft Azure - 表格



此处存储表格并不意味着关系数据库。Azure 存储可以仅存储一个表格,没有任何外键或任何其他类型的关系。这些表格具有高度可扩展性,非常适合处理大量数据。表格可以存储和查询大量数据。关系数据库可以使用 SQL 数据服务存储,这是一个单独的服务。

服务的三个主要部分是:

  • 表格
  • 实体
  • 属性

例如,如果“图书”是一个实体,其属性将是 Id、标题、出版商、作者等。将为实体集合创建表格。可以有 252 个自定义属性和 3 个系统属性。实体将始终具有系统属性,即 PartitionKey、RowKey 和 Timestamp。Timestamp 由系统生成,但在将数据插入表格时,您必须指定 PartitionKey 和 RowKey。下面的示例将使其更清晰。表名和属性名区分大小写,创建表时应始终考虑这一点。

如何使用 PowerShell 管理表格

步骤 1 - 下载并安装 Windows PowerShell,如本教程前面所述。

步骤 2 - 右键单击“Windows PowerShell”,选择“固定到任务栏”将其固定到计算机的任务栏。

步骤 3 - 选择“以管理员身份运行 ISE”。

创建表格

步骤 1 - 复制以下命令并将其粘贴到屏幕上。将突出显示的文本替换为您的帐户。

步骤 2 - 登录您的帐户。

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

步骤 3 - 创建一个新表格。

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

下图显示了一个名为“book”的表格的创建过程。

Create Table

您可以看到它给出了以下端点作为结果。

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

同样,您可以使用 PowerShell 中的预设命令检索、删除和插入表格中的数据。

检索表格

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

删除表格

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

向表格中插入行

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

检索表格数据

$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 

输出将如下图所示。

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

上述脚本将删除表格中的第一行,您可以看到我们在脚本中指定了 Partition1 和 Row1。删除行后,您可以通过运行检索行的脚本来检查结果。在那里您将看到第一行已被删除。

运行这些命令时,请确保您已将 accountname 替换为您的帐户名,将 accountkey 替换为您的帐户密钥。

如何使用 Azure 存储资源管理器管理表格

步骤 1 - 登录您的 Azure 帐户并转到您的存储帐户。

步骤 2 - 点击下图中紫色圆圈所示的“存储资源管理器”链接。

Storage Explorer

步骤 3 - 从列表中选择“适用于 Windows 的 Azure 存储资源管理器”。这是一个您可以下载并安装到计算机上的免费工具。

步骤 4 - 在您的计算机上运行此程序,然后单击顶部的“添加帐户”按钮。

步骤 5 - 输入“存储帐户名称”和“存储帐户密钥”,然后单击“测试访问”。按钮在下图中用圆圈标出。

Storage Account Name

步骤 6 - 如果您的存储中已经有表格,您将在左侧面板的“表格”下看到它们。您可以通过单击它们来查看行。

创建表格

步骤 1 - 单击“新建”并输入表名,如下图所示。

Create New Table

向表格中插入行

步骤 1 - 单击“新建”。

步骤 2 - 输入字段名称。

步骤 3 - 从下拉菜单中选择数据类型并输入字段值。

Select Data From Dropdown

步骤 4 - 要查看创建的行,请单击左侧面板中的表名。

Azure 存储资源管理器是一个非常基本且易于使用的界面,用于管理表格。您可以使用此界面轻松创建、删除、上传和下载表格。与在 Windows PowerShell 中编写冗长的脚本相比,这使得开发人员的任务变得非常容易。

广告
© . All rights reserved.