开发手册 欢迎您!
软件开发者资料库

Microsoft Azure - 表

Microsoft Azure Tables - 从云计算概述,Windows Azure,组件,计算模块,结构控制器,存储,Blob,队列,表,CDN,应用程序,安全性,数据中心,方案,管理门户,简单而简单的步骤学习Microsoft Azure创建虚拟网络,部署虚拟机,端点配置,点对站点,站点到站点连接,流量管理器,PowerShell,监控虚拟机,设置警报规则,应用程序部署,备份和恢复,自助服务功能,多重身份验证,Forefront Identity Manager,数据导入和导出作业,网站,可伸缩性,磁盘配置,磁盘缓存,个性化Azure访问,个性化公司品牌,自助密码重置,组管理,创建组,安全报告和警报,协调恢复,健康监测,升级。

存储表并不意味着关系数据库. Azure存储只能存储没有任何外键或任何其他类型关系的表.这些表具有高度可扩展性,是处理大量数据的理想选择.可以存储和查询表以获取大量数据.关系数据库可以使用SQL Data Services存储,这是一个单独的服务.

服务的三个主要部分是 :

  • 实体

  • 属性

例如,如果'Book'是一个实体,它的属性将是Id,Title,Publisher,Author等.将为一组实体创建表.可以有252个自定义属性和3个系统属性.实体将始终具有PartitionKey,RowKey和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"的表格.

创建表

您可以看到它已经给出了以下结束点.

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

同样,你可以检索,删除和插入使用PowerShell中的预设命令将数据放入表中.

检索表

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

删除表

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

插入r ows into Table

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 = "IT屋" $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 = "IT屋" $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 ="it1352" $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.完成删除行后,可以通过运行用于检索行的脚本来检查结果.在那里,您将看到第一行被删除.

在运行这些命令时,请确保您已将帐户名替换为帐户名,使用帐户密钥替换帐户密钥.

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

步骤1 : 登录您的Azure帐户并转到您的存储帐户.

第2步 : 单击"存储资源管理器"链接,如下图中紫色圆圈所示.

存储资源管理器

第3步 : 从列表中选择"Azure Storage Explorer for Windows".这是一款免费工具,您可以在计算机上下载并安装.

第4步 : 在您的计算机上运行此程序,然后单击顶部的"添加帐户"按钮.

步骤5 : 输入"存储帐户名称"和"存储帐户密钥",然后单击"测试访问权限".这些按钮被包围在下面的图像中.

存储帐户名称

第6步 : 如果您已经有任何存储表,您将在左侧面板的"Tables"下看到.您可以通过单击来查看行.

创建表

步骤1 : 单击"新建"并输入表格名称,如下图所示.

创建新表

在表格中插入行

步骤1 : 点击"新建".

第2步 : 输入字段名称.

第3步 : 从下拉列表中选择数据类型并输入字段值.

从下拉列表中选择数据

第4步 : 要查看创建的行,请单击左侧面板中的表名.

Azure Storage Explorer是管理表的非常基本且简单的界面.您可以使用此界面轻松创建,删除,上载和下载表.与在Windows PowerShell中编写冗长的脚本相比,这使开发人员可以轻松完成任务.