📅  最后修改于: 2020-11-20 05:40:44             🧑  作者: Mango
在这里存储表并不意味着关系数据库。 Azure存储只能存储一个没有任何外键或任何其他类型关系的表。这些表具有高度的可伸缩性,非常适合处理大量数据。可以存储表并查询大量数据。可以使用SQL数据服务(一个单独的服务)来存储关系数据库。
服务的三个主要部分是-
例如,如果“ Book”是一个实体,则其属性将是Id,Title,Publisher,Author等。将为实体集合创建表。可以有252个自定义属性和3个系统属性。实体将始终具有PartitionKey,RowKey和Timestamp的系统属性。时间戳是系统生成的,但是在将数据插入表中时必须指定PartitionKey和RowKey。下面的示例将使其更加清晰。表名和属性名区分大小写,在创建表时应始终予以考虑。
步骤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。删除行后,可以通过运行用于检索行的脚本来检查结果。在那里,您将看到第一行被删除。
运行这些命令时,请确保已用帐户名替换帐户名,用帐户密钥替换帐户密钥。
步骤1-登录到您的Azure帐户,然后转到您的存储帐户。
步骤2-单击链接“ Storage Explorer”,如下图的紫色圆圈所示。
步骤3-从列表中选择“ Azure Storage Explorer for Windows”。它是一个免费工具,可以下载并安装在计算机上。
步骤4-在计算机上运行该程序,然后单击顶部的“添加帐户”按钮。
步骤5-输入“存储帐户名称”和“存储帐户密钥”,然后单击“测试访问”。下图中圈出了按钮。
步骤6-如果您已经有任何表存储,您将在左面板的“表”下看到。您可以通过单击查看行。
步骤1-单击“新建”,然后输入表名称,如下图所示。
步骤1-单击“新建”。
步骤2-输入字段名称。
步骤3-从下拉列表中选择数据类型,然后输入字段值。
步骤4-要查看创建的行,请单击左侧面板中的表名称。
Azure Storage Explorer是非常基本且易于管理表的界面。您可以使用此界面轻松创建,删除,上载和下载表。与在Windows PowerShell中编写冗长的脚本相比,这使开发人员的任务非常容易。