Partager via


com.microsoft.azure.storage.table

Classes

CloudTable

Représente une table dans le service Table Microsoft Azure.

CloudTableClient

Fournit un client de service pour accéder au service Table Microsoft Azure.

La CloudTableClient classe encapsule l’URI de base pour le point de terminaison du service Table et les informations d’identification pour accéder au compte de stockage, et fournit des méthodes pour créer, supprimer, répertorier et interroger des tables, ainsi que des méthodes pour exécuter des opérations et des requêtes sur des entités de table. Ces méthodes appellent les opérations de l’API REST du service de stockage pour effectuer les requêtes et obtenir les résultats retournés.

Un point de terminaison de service Table est l’URI de base pour les ressources de service de table, y compris le nom DNS du compte de stockage :

Pour plus d’informations, consultez la rubrique MSDN Addressing Table Service Resources.

Les informations d’identification peuvent être une combinaison du nom du compte de stockage et d’une clé, ou d’une signature d’accès partagé. Pour plus d’informations, consultez la rubrique MSDN Authentification de l’accès à votre compte de stockage.

DynamicTableEntity

Type TableEntity qui permet aux appelants d'accéder directement au mappage de propriété de l'entité. Cette classe s’étend TableServiceEntity pour éliminer l’utilisation de la réflexion pour la sérialisation et la désérialisation.

EntityProperty

Classe qui représente une valeur de propriété typée unique dans une entité de table. Un EntityProperty stocke le type de données en tant que EdmType. La valeur, qui peut être pour les types d’objets, mais pas pour les types primitifs, est sérialisée et stockée en tant que .

EntityProperty fournit des constructeurs surchargés et des surcharges de la méthode pour les types valeur pris en charge. Chaque constructeur ou méthode surchargé définit et EdmType sérialise la valeur de manière appropriée en fonction du type de paramètre.

Utilisez l’une des méthodes Type pour désérialiser un EntityProperty en tant que type Java approprié. La méthode lève un ParseException ou IllegalArgumentException si ne EntityProperty peut pas être désérialisé en tant que type Java.

QueryTableOperation

Classe qui s’étend TableOperation pour implémenter une requête pour récupérer une seule entité de table. Pour exécuter un QueryTableOperation instance, appelez la méthode sur un CloudTableClient instance. Cette opération peut être exécutée directement ou dans le cadre d’un TableBatchOperation. Si retourne QueryTableOperation un résultat d’entité, il est stocké dans le correspondant TableResult retourné par la méthode .

SharedAccessTablePolicy

Représente une stratégie d'accès partagé qui spécifie l'heure de début, la durée d'expiration et les autorisations d'une signature d'accès partagé.

TableBatchOperation

Classe qui représente une opération de traitement par lots. Une opération par lot est une collection d’opérations de table qui sont exécutées par l’API REST du service de stockage en tant qu’opération atomique unique, en appelant une transaction de groupe d’entités.

Une opération de traitement par lot peut contenir jusqu'à 100 opérations de table individuelles, avec pour chaque entité d'opération la nécessité d'avoir la même clé de partition. Un traitement par lot comprenant une opération de récupération ne peut pas contenir d'autres opérations. Notez que la charge utile totale d'une opération de traitement par lot est limitée à 4 Mo.

TableEncryptionPolicy

Représente une stratégie de chiffrement de table utilisée pour effectuer le chiffrement/déchiffrement des enveloppes des entités de table Azure.

TableOperation

Classe qui représente une opération de table unique.

Utilisez les méthodes de fabrique statique pour construire TableOperation des instances pour les opérations sur des tables qui insèrent, mettent à jour, fusionnent, suppriment, remplacent ou récupèrent des entités de table. Pour exécuter un TableOperation instance, appelez la méthode sur un CloudTableClient instance. Un TableOperation peut être exécuté directement ou dans le cadre d’un TableBatchOperation. Si un TableOperation retourne un résultat d’entité, il est stocké dans le correspondant TableResult retourné par la méthode .

TablePermissions

Représente les autorisations d'une table.

TableQuery<T>

Classe qui représente une requête sur une table spécifiée. Une TableQuery<T> instance agrège les paramètres de requête à utiliser lors de l’exécution de la requête. L’une des méthodes ou de CloudTableClient doit être appelée pour exécuter la requête. Les paramètres sont encodés et passés au serveur lorsque la requête de table est exécutée.

Pour créer une requête de table avec la syntaxe Fluent, la from(final Class<T> clazzType) méthode de fabrique statique et les where(final String filter)méthodes mutateurs , select(final String[] columns)et take(final Integer take) retournent chacune une référence à l’objet qui peut être chaînée en une seule expression. Utilisez la from(Class) méthode de fabrique de classes statique pour créer un instance qui s’exécute sur la table nommée avec des entités du type d’implémentation spécifiéTableEntity. Utilisez la where(final String filter) méthode pour spécifier une expression de filtre pour les entités retournées. Utilisez la select(final String[] columns) méthode pour spécifier les propriétés d’entité de table à retourner. Utilisez la take(final Integer take) méthode pour limiter le nombre d’entités retournées par la requête. Notez que rien n’empêche d’appeler ces méthodes plusieurs fois sur un , de sorte que les valeurs enregistrées dans seront les dernières rencontrées dans l’ordre d’exécution.

Par exemple, vous pouvez construire une requête de table à l’aide de la syntaxe Fluent :

Cet exemple crée une requête sur la table « Products » pour toutes les entités où la valeur PartitionKey est « ProductsMNO » et la valeur RowKey est supérieure ou égale à « Napkin » et demande les 25 premières entités correspondantes, en sélectionnant uniquement les propriétés communes et la propriété nommée « InventoryCount », puis les retourne en tant qu’objets DynamicTableEntity .

Les expressions de filtre à utiliser avec la méthode ou la where(final String filter) méthode peuvent être créées à l’aide de la syntaxe Fluent avec les méthodes et la méthode surchargéesgenerateFilterCondition(String propertyName, String operation, final boolean value), à combineFilters(String filterA, String operator, String filterB) l’aide des opérateurs de comparaison définis dans QueryComparisons et des opérateurs logiques définis dans Operators.setFilterString(final String filterString) Notez que le premier opérande d’une comparaison de filtres doit être un nom de propriété et que le deuxième opérande doit être évalué à une constante. Les valeurs des propriétés PartitionKey et RowKey sont des types à des fins de comparaison.

Les valeurs qui peuvent être utilisées dans les requêtes de table sont expliquées plus en détail dans la rubrique MSDN Interrogation des tables et des entités, mais notez que les caractères d’espace dans les valeurs n’ont pas besoin d’être encodés en URL, car cette opération sera effectuée lors de l’exécution de la requête.

Le TableQuery#TableQuery(Class) constructeur et TableQuery#from(Class) les méthodes de fabrique statique nécessitent un type de classe qui implémente TableEntity et contient un constructeur nullaire. Si la requête est exécutée à l’aide d’un EntityResolver<T>, l’appelant peut spécifier TableServiceEntity comme type de classe.

TableRequestOptions

Représente un ensemble d’options de délai d’expiration, de format de charge utile et de stratégie de nouvelle tentative qui peuvent être spécifiées pour une demande d’opération de table.

TableResult

Classe qui représente le résultat d’une opération de table. La TableResult classe encapsule la réponse HTTP et les résultats de toute entité de table retournés par l’opération d’API REST du service de stockage appelée pour un particulier TableOperation.

TableServiceEntity

La TableServiceEntity classe représente le type d’objet de base d’une entité table dans le service Stockage. TableServiceEntity fournit une implémentation de base pour l’interface TableEntity qui fournit des méthodes et qui, par défaut, sérialisent et désérialisent toutes les propriétés par réflexion. Une classe d’entité table peut étendre cette classe et remplacer les méthodes et pour fournir une logique de sérialisation personnalisée ou plus performante.

L’utilisation de la réflexion permet aux sous-classes de TableServiceEntity être sérialisées et désérialisées sans avoir à implémenter le code de sérialisation elles-mêmes. Quand une méthode getter et une méthode setter sont trouvées pour un nom de propriété et un type de données donnés, la méthode appropriée est appelée automatiquement pour sérialiser ou désérialiser les données. Pour tirer parti du code de sérialisation automatique, vos classes d’entité table doivent fournir des méthodes getter et setter pour chaque propriété dans l’entité table correspondante dans le stockage de table Microsoft Azure. Le code de réflexion recherche les méthodes getter et setter par paires du formulaire

et

PropertyName est un nom de propriété pour l’entité table et type est un type Java compatible avec le type de données EDM de la propriété. Consultez le tableau ci-dessous pour obtenir une carte des types de propriétés à leurs équivalents Java. L’annotation StoreAs peut être appliquée avec un attribut pour spécifier un nom de propriété pour la réflexion sur les méthodes getter et setter qui ne suivent pas la convention de nom de propriété. Les noms de méthode et l’attribut des StoreAs annotations respectent la casse pour la correspondance des noms de propriétés avec réflexion. Utilisez l’annotation Ignore pour empêcher les méthodes d’être utilisées par la réflexion pour la sérialisation et la désérialisation automatiques. Notez que les noms « PartitionKey », « RowKey », « Timestamp » et « Etag » sont réservés et seront ignorés s’ils sont définis avec l’annotation StoreAs dans une sous-classe.

Le tableau suivant montre les types de données de propriété pris en charge dans le stockage Microsoft Azure et les types Java correspondants en cas de désérialisation.

Types de données de propriété pris en charge dans le stockage Microsoft Azure

Consultez la rubrique MSDN Présentation du modèle de données du service de table pour obtenir une vue d’ensemble des tables, des entités et des propriétés utilisées dans le service Stockage Microsoft Azure.

Pour obtenir une vue d’ensemble des types et noms de données primitifs EDM disponibles, consultez

Section Types de données primitifs de la vue d’ensemble du protocole OData.

TableServiceException

Exception qui se produit lorsqu’une opération de service de stockage de table échoue.

TableQuery.Operators

Classe statique qui mappe les identificateurs aux opérateurs d’expression de filtre.

TableQuery.QueryComparisons

Classe statique qui mappe les identificateurs aux opérateurs de comparaison de propriétés de filtre.

Interfaces

Encrypt

Représente un attribut personnalisé qui peut être utilisé pour indiquer si une propriété d’entité doit être chiffrée. Utilisez cette annotation pour spécifier s’il faut chiffrer les données stockées par une méthode setter ou déchiffrer les données récupérées par une méthode getter dans une classe implémentant TableEntity.

EntityResolver<T>

Interface permettant d’effectuer une projection côté client sur une entité récupérée. Un EntityResolver<T> instance doit implémenter une méthode projetant les données d’entité représentées par les paramètres passés en tant que nouvelle instance du type spécifié par le paramètre de type .

Cette interface est utile pour convertir directement des données d’entité de table en type d’objet client sans nécessiter un type de classe d’entité table distinct qui désérialise chaque propriété individuellement. Par exemple, un client peut effectuer une projection côté client d’une entité Customer en retournant simplement le pour la propriété CustomerName de chaque entité. Le résultat de cette projection sera une collection de s contenant chaque nom de client.

Ignore

Annotation définie sur une méthode pour empêcher son utilisation dans la sérialisation ou la désérialisation d’une propriété par réflexion. Appliquez l’annotation aux méthodes d’une classe implémentant TableEntity pour les forcer à être ignorées pendant la sérialisation et la désérialisation basées sur la réflexion. Pour plus d’informations sur l’utilisation de la sérialisation et de la désérialisation basées sur la réflexion, consultez la documentation TableServiceEntity .

StoreAs

Une annotation utilisée pour remplacer le nom d’une propriété est sérialisée et désérialisée à l’aide de la réflexion. Utilisez cette annotation pour spécifier le nom de propriété à associer aux données stockées par une méthode setter ou récupérées par une méthode getter dans une classe implémentant TableEntity qui utilise la sérialisation et la désérialisation basées sur la réflexion. Notez que les noms « PartitionKey », « RowKey », « Timestamp » et « Etag » sont réservés et sont ignorés s’ils sont définis avec l’annotation.

Exemple :

Cet exemple montre comment les méthodes qui obtiendraient et définiraient une propriété d’entité nommée ObjectPropertyName dans le cas par défaut peuvent être annotées pour obtenir et définir une propriété d’entité nommée EntityPropertyName. Pour plus d’informations sur l’utilisation de la sérialisation et de la désérialisation basées sur la réflexion, consultez la documentation TableServiceEntity .

TableEntity

Interface requise pour les types d'entités de table. L’interface TableEntity déclare les méthodes getter et setter pour les propriétés d’entité communes, et les méthodes pour la sérialisation et la désérialisation de toutes les propriétés d’entité à l’aide d’un mappage de propriétés. Créez des classes implémentant TableEntity pour personnaliser le stockage des propriétés, la récupération, la sérialisation et la désérialisation, et pour fournir une logique personnalisée supplémentaire pour une entité de table.

La bibliothèque cliente de stockage comprend deux implémentations de TableEntity qui fournissent un accès aux propriétés et une sérialisation simples :

DynamicTableEntity implémente TableEntity et fournit un mappage de propriétés simple pour stocker et récupérer des propriétés. Utilisez un pour un accès simple aux propriétés d’entité DynamicTableEntity quand seul un sous-ensemble de propriétés est retourné (par exemple, par une clause select dans une requête) ou lorsque votre requête peut retourner plusieurs types d’entités avec des propriétés différentes. Vous pouvez également utiliser ce type pour effectuer des mises à jour de tables en bloc d'entités hétérogènes sans perdre les informations sur les propriétés.

TableServiceEntity est une implémentation de qui utilise le comportement de TableEntity sérialisation et de désérialisation basé sur la réflexion dans ses méthodes et . TableServiceEntityles classes dérivées avec des méthodes qui suivent une convention pour les types et le nommage sont sérialisées et désérialisées automatiquement.

Toute classe qui implémente peut tirer parti du comportement automatique de sérialisation et de désérialisation basées sur la réflexion dans TableServiceEntity en appelant les méthodes statiques TableEntity dans et dans . La classe doit fournir des méthodes qui suivent la convention de type et de nommage à sérialiser et désérialiser automatiquement. Quand une méthode getter et une méthode setter sont toutes deux trouvées pour un nom de propriété et un type de données donnés, la méthode appropriée est appelée automatiquement pour sérialiser ou désérialiser les données. Le code de réflexion recherche les méthodes getter et setter par paires du formulaire

et

PropertyName est un nom de propriété pour l’entité table, et type est un type Java compatible avec le type de données EDM de la propriété. Consultez le tableau de la description de la classe pour TableServiceEntity obtenir un mappage des types de propriétés à leurs équivalents Java. L’annotation StoreAs peut être appliquée avec un attribut pour spécifier un nom de propriété pour la réflexion sur les méthodes getter et setter qui ne respectent pas la convention de nom de propriété. Les noms de méthode et l’attribut des StoreAs annotations respectent la casse pour la correspondance des noms de propriétés avec la réflexion. Utilisez l’annotation Ignore pour empêcher l’utilisation de méthodes par la réflexion pour la sérialisation et la désérialisation automatiques. Notez que les noms « PartitionKey », « RowKey », « Timestamp » et « Etag » sont réservés et seront ignorés s’ils sont définis avec l’annotation StoreAs dans une sous-classe qui utilise les méthodes de réflexion.

TableRequestOptions.EncryptionResolver

Interface dont la fonction est utilisée pour obtenir la valeur indiquant si une propriété doit être chiffrée ou non en fonction de la clé de partition, de la clé de ligne et du nom de la propriété.

TableRequestOptions.PropertyResolver

Interface dont la fonction est utilisée pour obtenir pour une propriété d’entité en fonction de EdmType la clé de partition, de la ligne, de la clé et du nom de la propriété, si l’interface est implémentée

Énumérations

EdmType

Énumération utilisée pour représenter les types primitifs de l’Entity Data Model (EDM) dans le protocole OData (Open Data Protocol). L’EDM est le modèle de données abstrait sous-jacent utilisé par les services OData. L’énumération EdmType inclut une parse(final String value) méthode pour convertir les noms de types de données EDM en type d’énumération et remplace la toString() méthode pour produire un nom de type de données EDM.

Pour plus d’informations sur OData, consultez le site web Open Data Protocol .

Pour obtenir une vue d’ensemble des types et noms de données primitifs EDM disponibles, consultez la section Types de données primitifs de la vue d’ensemble du protocole OData.

Le système de type abstrait utilisé pour définir les types primitifs pris en charge par OData est défini en détail dans [MC-CSDL] (section 2.2.1).

SharedAccessTablePermissions

Spécifie le jeu d'autorisations possibles pour une stratégie de table d'accès partagé.

TablePayloadFormat

Décrit les formats de charges utiles pris en charge pour les tables.