TAzureTableManagement

De RAD Studio
Aller à : navigation, rechercher

Remonter à Environnement Azure et Cloud avec DataSnap

Avertissement : L'API DSAzure est devenue obsolète et a été remplacée par Data.Cloud.AzureAPI. Nous vous encourageons à utiliser la nouvelle API lors du développement d'applications d'environnement cloud. Voir Environnement Cloud avec DataSnap pour plus d'informations.

Remarque : Le composant TAzureTableManagement n'est disponible dans la Palette d'outils que si vous installez le package dclWindowsAzureManagement190.bpl, qui se trouve dans le dossier bin du dossier d'installation de RAD Studio.

Le composant table Azure est un peu plus complexe que TAzureQueueManagement, mais la configuration est exactement la même. Déposez d'abord le composant TAzureTableManagement sur la fiche, puis déposez le composant chaîne de connexion. Ajoutez les informations de connexion au DSAzure.TAzureConnectionString, connectez les deux composants, puis activez le composant table.

Dès que votre application s'exécute et que le composant table est activé, vous pouvez cliquer avec le bouton droit sur le noeud racine pour ajouter une nouvelle table ou pour actualiser la liste des tables.

Remarque : Quand vous nommez une table, assurez-vous de ne pas commencer par un nombre ; seule une lettre est autorisée en tant que premier caractère. Les noms de tables suivent les règles de nommage des noms de files citées ci-dessus, à l'exception des traits d'union (-) qui ne sont pas supportés dans le nom.

Sur chaque noeud de table, il existe des éléments de menu contextuel supplémentaires permettant de supprimer la table sélectionnée ou de visualiser les données de la table dans une autre boîte de dialogue. Vous pouvez aussi afficher ce dialogue de table en double-cliquant sur le noeud de table, ou en maintenant enfoncée la touche MAJ tout en appuyant sur la touche ENTREE.

Dialogue des données de la table

Le dialogue des données de la table contient sur la gauche la liste de toutes les lignes de la table. Quand vous sélectionnez une ligne, la table de droite est automatiquement remplie. Les clés de cette table représenteront le nom de colonne de la ligne, et la valeur sera la valeur stockée dans la cellule de la table (ligne et colonne spécifiques).

Remarque : Les tables Microsoft Azure n'ont pas de schéma. Cela signifie que chaque ligne de la table peut avoir un ensemble de colonnes totalement unique. Par exemple, la première ligne peut avoir 3 colonnes, tandis que la seconde ligne peut avoir 50 colonnes. Si vous voulez que la table se comporte comme une table de base de données standard, vous devrez alors mettre en vigueur manuellement un schéma spécifique.

Pour ajouter une nouvelle ligne à la table, cliquez avec le bouton droit sur la liste de gauche et choisissez de créer une nouvelle entité. La table de droite sera remplie avec les deux éléments, RowKey et PartitionKey. Ces deux colonnes sont requises pour toutes les lignes de la table. De cette façon, la ligne peut être identifiée de façon unique au sein de la table. Vous pouvez modifier les valeurs de RowKey et PartitionKey en cliquant dessus avec le bouton droit et en choisissant de modifier la propriété. Cette option est seulement disponible pour RowKey et PartitionKey quand vous créez une nouvelle ligne. Dès que vous avez validé la ligne pour la première fois, vous ne pouvez plus changer la valeur de ces propriétés.

Une autre option, sur la table de droite, disponible lors de l'ajout d'une nouvelle entité (ligne), est la création d'une nouvelle propriété. Cette action amènera la même boîte de dialogue que celle affichée par l'élément de menu contextuel modifier. Vous spécifierez dans cette boîte de dialogue le nom de la propriété, la valeur et le type de données. La validation de base est effectuée ici afin de réduire le risque d'entrer une valeur et/ou un type de données non valides.

Remarque : Même si vous passez la validation des entrées, la paire valeur/type de données que vous choisissez peut encore échouer quand vous essayez de valider la nouvelle ligne (ou la ligne modifiée) sur le serveur. Si cela se produit, vous pouvez perdre les données entrées pour cette ligne avant la validation.

Après avoir effectué les modifications sur la nouvelle ligne, appuyez sur Valider pour pousser les modifications sur le serveur.

Filtrage de la liste

Le filtrage de la liste est une autre action que vous pouvez effectuer avec la liste située sur le côté gauche du dialogue des données de la table.

Notez qu'au dessus de la liste des lignes de la table se trouve un champ de filtrage. Vous pouvez taper une valeur et la valider en appuyant sur la touche ENTREE. De cette façon, vous filtrez la liste afin de ne montrer que les lignes ayant cette valeur dans leur RowKey ou PartitionKey. Toutefois, notez qu'aucun caractère générique ou correspondance partielle n'est supporté dans l'API Azure REST. La valeur entrée doit être une correspondance exacte.

Si vous voulez que la correspondance s'effectue sur plusieurs colonnes (propriétés) de la ligne, vous pouvez utiliser l'option FILTRE AVANCE (ADVANCED FILTER). Notez qu'il existe une propriété sur le composant TAzureTableManagement, AdvancedFilterPrefix, qui a par défaut la valeur ~. Dans le champ de filtrage du dialogue des données de la table, vous pouvez entrer quelque chose comme :

~RowKey eq '1' and PartitionKey eq '1'

Vous pouvez effectuer une correspondance sur n'importe quelle colonne de cette façon, pas seulement PartitionKey et RowKey. Si le type de données de la colonne est une chaîne, vous devez utiliser de simples apostrophes autour de la valeur du filtre. Si c'est un nombre, vous ne devez pas utiliser de caractère de délimitation. RowKey et PartitionKey sont toujours des types chaînes.

Importation de lignes

Pour importer des lignes, vous devez sélectionner l'élément de menu contextuel relatif à l'importation des entités, qui vous permet de choisir un fichier texte à partir duquel les lignes seront lues. Le fichier texte doit avoir une valeur JSON unique en contenu.

Voici le format du fichier :

[ 
{"RowKey":"row1","PartitionKey":"Imported","AnyKeyName":"Hello World!"}, 
{"RowKey":"row2","PartitionKey":"Imported","UniqueKey1":["68","Edm.Int64"]}, 
{"RowKey":"row3","PartitionKey":"Imported","AnotherKey":["3.14","Edm.Double"]}, 
{"RowKey":"row4","PartitionKey":"Imported","OtherValue":["true","Edm.Boolean"]} 
]

Notez que le format montré ci-avant décrit un tableau JSON, où chaque élément du tableau est un objet JSON. Chaque objet JSON doit contenir une propriété pour RowKey et PartitionKey. Toute autre propriété a sa clé en tant que chaîne suivant la convention de nommage d'une colonne de table. La valeur de la clé est une chaîne (signifiant que la colonne est du type de données string) ou un tableau JSON de taille 2, où la valeur à l'indice 0 est la représentation chaîne de la valeur de la colonne, et la valeur à l'indice 1 est le type de données de la colonne.

Remarque : Si une ou plusieurs lignes du fichier texte ne peuvent pas être importées, le texte est ignoré et le processus se poursuit pour le reste des lignes, si elles peuvent être importées. En d'autres termes, ce n'est pas une importation tout-ou-rien.

Voir aussi