Microsoft Azure - Bảng
Lưu trữ một bảng không có nghĩa là cơ sở dữ liệu quan hệ ở đây. Azure Storage chỉ có thể lưu trữ một bảng mà không có bất kỳ khóa ngoại nào hoặc bất kỳ loại quan hệ nào khác. Các bảng này có khả năng mở rộng cao và lý tưởng để xử lý lượng lớn dữ liệu. Các bảng có thể được lưu trữ và truy vấn lượng lớn dữ liệu. Cơ sở dữ liệu quan hệ có thể được lưu trữ bằng SQL Data Services, là một dịch vụ riêng biệt.
Ba phần chính của dịch vụ là -
- Tables
- Entities
- Properties
Ví dụ: nếu 'Sách' là một thực thể, các thuộc tính của nó sẽ là Id, Tên sách, Nhà xuất bản, Tác giả, v.v. Bảng sẽ được tạo cho một tập hợp các thực thể. Có thể có 252 thuộc tính tùy chỉnh và 3 thuộc tính hệ thống. Một thực thể sẽ luôn có các thuộc tính hệ thống là PartitionKey, RowKey và Timestamp. Dấu thời gian do hệ thống tạo ra nhưng bạn sẽ phải chỉ định PartitionKey và RowKey trong khi chèn dữ liệu vào bảng. Ví dụ dưới đây sẽ làm rõ hơn. Tên bảng và tên Thuộc tính có phân biệt chữ hoa chữ thường và luôn phải cân nhắc khi tạo bảng.
Cách quản lý bảng bằng PowerShell
Step 1 - Tải xuống và cài đặt Windows PowerShell như đã thảo luận trước đây trong hướng dẫn.
Step 2 - Nhấp chuột phải vào 'Windows PowerShell', chọn 'Pin to Taskbar' để ghim trên thanh tác vụ của máy tính.
Step 3 - Chọn 'Chạy ISE với tư cách Quản trị viên'.
Tạo bảng
Step 1- Sao chép các lệnh sau và dán vào màn hình. Thay thế văn bản được đánh dấu bằng tài khoản của bạn.
Step 2 - Đăng nhập vào tài khoản của bạn.
$StorageAccountName = "mystorageaccount"
$StorageAccountKey = "mystoragekey"
$Ctx = New-AzureStorageContext $StorageAccountName - StorageAccountKey
$StorageAccountKey
Step 3 - Tạo một bảng mới.
$tabName = "Mytablename"
New-AzureStorageTable –Name $tabName –Context $Ctx
Hình ảnh sau đây cho thấy một bảng được tạo bởi tên của 'book'.
Bạn có thể thấy rằng kết quả là nó đã đưa ra điểm cuối như sau.
https://tutorialspoint.table.core.windows.net/Book
Tương tự, bạn có thể truy xuất, xóa và chèn dữ liệu vào bảng bằng các lệnh đặt trước trong PowerShell.
Truy xuất bảng
$tabName = "Book"
Get-AzureStorageTable –Name $tabName –Context $Ctx
Xóa bảng
$tabName = "Book"
Remove-AzureStorageTable –Name $tabName –Context $Ctx
Chèn hàng vào bảng
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
Truy xuất dữ liệu bảng
$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
Kết quả đầu ra sẽ như trong hình sau.
Xóa hàng khỏi bảng
$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))
}
}
Tập lệnh trên sẽ xóa hàng đầu tiên khỏi bảng, như bạn có thể thấy rằng chúng tôi đã chỉ định Partition1 và Row1 trong tập lệnh. Sau khi thực hiện xong việc xóa hàng, bạn có thể kiểm tra kết quả bằng cách chạy tập lệnh để truy xuất hàng. Ở đó bạn sẽ thấy rằng hàng đầu tiên bị xóa.
Trong khi chạy các lệnh này, hãy đảm bảo rằng bạn đã thay thế tên tài khoản bằng tên tài khoản của mình, khóa tài khoản bằng khóa tài khoản của bạn.
Cách quản lý bảng bằng Azure Storage Explorer
Step 1 - Đăng nhập vào tài khoản Azure của bạn và chuyển đến tài khoản lưu trữ của bạn.
Step 2 - Nhấp vào liên kết 'Storage explorer' như hình tròn màu tím trong hình sau.
Step 3- Chọn 'Azure Storage Explorer for Windows' từ danh sách. Nó là một công cụ miễn phí mà bạn có thể tải xuống và cài đặt trên máy tính của mình.
Step 4 - Chạy chương trình này trên máy tính của bạn và nhấp vào nút 'Thêm tài khoản' ở trên cùng.
Step 5- Nhập 'Tên tài khoản lưu trữ' và 'Khóa tài khoản lưu trữ' và nhấp vào 'Kiểm tra quyền truy cập. Các nút được bao quanh trong hình ảnh sau.
Step 6- Nếu bạn đã có bất kỳ bảng nào trong bộ nhớ, bạn sẽ thấy trong bảng điều khiển bên trái bên dưới 'Bảng'. Bạn có thể xem các hàng bằng cách nhấp vào chúng.
Tạo bảng
Step 1 - Nhấp vào 'Mới' và nhập tên bảng như trong hình sau.
Chèn hàng vào bảng
Step 1 - Nhấp vào 'Mới'.
Step 2 - Nhập Tên trường.
Step 3 - Chọn kiểu dữ liệu từ menu thả xuống và nhập giá trị trường.
Step 4 - Để xem các hàng đã tạo, nhấp chuột vào tên bảng trong bảng điều khiển bên trái.
Azure Storage Explorer là giao diện rất cơ bản và dễ dàng để quản lý các bảng. Bạn có thể dễ dàng tạo, xóa, tải lên và tải xuống bảng bằng giao diện này. Điều này làm cho các tác vụ trở nên rất dễ dàng đối với các nhà phát triển so với việc viết các đoạn mã dài trong Windows PowerShell.