Microsoft Azure – 表格
Microsoft Azure – 表格
在这里存储表并不意味着关系数据库。Azure 存储可以只存储一个表,没有任何外键或任何其他类型的关系。这些表具有高度可扩展性,非常适合处理大量数据。可以存储和查询大量数据的表。关系数据库可以使用 SQL 数据服务进行存储,这是一项单独的服务。
服务的三个主要部分是 –
- 表
- 实体
- 特性
例如,如果“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://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
输出将如下图所示。
从表中删除行
$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 – 单击“存储资源管理器”链接,如下图中紫色圆圈所示。
步骤 3 – 从列表中选择“适用于 Windows 的 Azure 存储资源管理器”。它是一个免费工具,您可以下载并安装到您的计算机上。
第 4 步– 在您的计算机上运行此程序,然后单击顶部的“添加帐户”按钮。
第 5 步– 输入“存储帐户名称”和“存储帐户密钥”,然后单击“测试访问”。按钮在下图中被圈起来。
第 6 步– 如果您已经有任何存储表,您将在“表”下的左侧面板中看到。您可以通过单击来查看行。
创建表
步骤 1 – 单击“新建”并输入表名,如下图所示。
在表格中插入行
步骤 1 – 单击“新建”。
步骤 2 – 输入字段名称。
步骤 3 – 从下拉列表中选择数据类型并输入字段值。
步骤 4 – 要查看创建的行,请单击左侧面板中的表名。
Azure 存储资源管理器是用于管理表的非常基本且简单的界面。您可以使用此界面轻松创建、删除、上传和下载表。与在 Windows PowerShell 中编写冗长的脚本相比,这使开发人员的任务变得非常容易。