Microsoft Azure: tablas
Almacenar una tabla no significa aquí una base de datos relacional. Azure Storage puede almacenar solo una tabla sin claves externas ni ningún otro tipo de relación. Estas tablas son altamente escalables e ideales para manejar una gran cantidad de datos. Las tablas se pueden almacenar y consultar para una gran cantidad de datos. La base de datos relacional se puede almacenar mediante SQL Data Services, que es un servicio independiente.
Las tres partes principales del servicio son:
- Tables
- Entities
- Properties
Por ejemplo, si 'Libro' es una entidad, sus propiedades serán Id, Título, Editor, Autor, etc. Se creará una tabla para una colección de entidades. Puede haber 252 propiedades personalizadas y 3 propiedades del sistema. Una entidad siempre tendrá propiedades del sistema que son PartitionKey, RowKey y Timestamp. La marca de tiempo es generada por el sistema, pero tendrá que especificar PartitionKey y RowKey al insertar datos en la tabla. El siguiente ejemplo lo aclarará más. El nombre de la tabla y el nombre de la propiedad distinguen entre mayúsculas y minúsculas, lo que siempre debe tenerse en cuenta al crear una tabla.
Cómo administrar tablas con PowerShell
Step 1 - Descargue e instale Windows PowerShell como se discutió anteriormente en el tutorial.
Step 2 - Haga clic con el botón derecho en 'Windows PowerShell', elija 'Anclar a la barra de tareas' para anclarlo en la barra de tareas de su computadora.
Step 3 - Elija "Ejecutar ISE como administrador".
Crear una tabla
Step 1- Copie los siguientes comandos y péguelos en la pantalla. Reemplaza el texto resaltado con tu cuenta.
Step 2 - Inicie sesión en su cuenta.
$StorageAccountName = "mystorageaccount"
$StorageAccountKey = "mystoragekey"
$Ctx = New-AzureStorageContext $StorageAccountName - StorageAccountKey
$StorageAccountKey
Step 3 - Crea una nueva tabla.
$tabName = "Mytablename"
New-AzureStorageTable –Name $tabName –Context $Ctx
La siguiente imagen muestra una tabla que se está creando con el nombre de 'libro'.
Como resultado, puede ver que ha dado el siguiente punto final.
https://tutorialspoint.table.core.windows.net/Book
Del mismo modo, puede recuperar, eliminar e insertar datos en la tabla utilizando comandos preestablecidos en PowerShell.
Recuperar tabla
$tabName = "Book"
Get-AzureStorageTable –Name $tabName –Context $Ctx
Eliminar tabla
$tabName = "Book"
Remove-AzureStorageTable –Name $tabName –Context $Ctx
Insertar filas en la tabla
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
Recuperar datos de la tabla
$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
La salida será como se muestra en la siguiente imagen.
Eliminar filas de la tabla
$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))
}
}
El script anterior eliminará la primera fila de la tabla, como puede ver, hemos especificado Partition1 y Row1 en el script. Una vez que haya terminado con la eliminación de la fila, puede verificar el resultado ejecutando el script para recuperar filas. Allí verá que se elimina la primera fila.
Mientras ejecuta estos comandos, asegúrese de haber reemplazado el nombre de la cuenta con el nombre de su cuenta, accountkey con la clave de su cuenta.
Cómo administrar la tabla con Azure Storage Explorer
Step 1 - Inicie sesión en su cuenta de Azure y vaya a su cuenta de almacenamiento.
Step 2 - Haga clic en el enlace 'Explorador de almacenamiento' como se muestra en un círculo púrpura en la siguiente imagen.
Step 3- Elija 'Azure Storage Explorer para Windows' de la lista. Es una herramienta gratuita que puede descargar e instalar en su computadora.
Step 4 - Ejecute este programa en su computadora y haga clic en el botón 'Agregar cuenta' en la parte superior.
Step 5- Introduzca 'Nombre de cuenta de almacenamiento' y 'Clave de cuenta de almacenamiento' y haga clic en 'Probar acceso. Los botones están rodeados en la siguiente imagen.
Step 6- Si ya tiene tablas almacenadas, verá en el panel izquierdo debajo de 'Tablas'. Puede ver las filas haciendo clic en ellas.
Crear una tabla
Step 1 - Haga clic en 'Nuevo' e ingrese el nombre de la tabla como se muestra en la siguiente imagen.
Insertar fila en la tabla
Step 1 - Haga clic en 'Nuevo'.
Step 2 - Ingrese el nombre del campo.
Step 3 - Seleccione el tipo de datos del menú desplegable e ingrese el valor del campo.
Step 4 - Para ver las filas creadas, haga clic en el nombre de la tabla en el panel izquierdo.
Azure Storage Explorer es una interfaz muy básica y sencilla para administrar tablas. Puede crear, eliminar, cargar y descargar tablas fácilmente usando esta interfaz. Esto hace que las tareas sean muy fáciles para los desarrolladores en comparación con la escritura de scripts extensos en Windows PowerShell.