Partager via


TableClient Classe

Client pour interagir avec une table spécifique dans un compte Tables Azure.

Créez TableClient à partir d’informations d’identification.

Héritage
azure.data.tables._base_client.TablesBaseClient
TableClient

Constructeur

TableClient(endpoint: str, table_name: str, *, credential: AzureNamedKeyCredential | AzureSasCredential | TokenCredential | None = None, **kwargs)

Paramètres

endpoint
str
Obligatoire

URL d’un compte Tables Azure.

table_name
str
Obligatoire

Nom de la table.

credential
AzureNamedKeyCredential ou AzureSasCredential ou TokenCredential ou None

Informations d’identification avec lesquelles s’authentifier. Cette option est facultative si l’URL du compte a déjà un jeton SAP. La valeur peut être azureNamedKeyCredential (azure-core), AzureSasCredential (azure-core) ou une implémentation TokenCredential d’azure-identity.

api_version
str

Spécifie la version de l'opération à utiliser pour cette demande. La valeur par défaut est « 2019-02-02 ».

Variables

account_name
str

Nom du compte Tables.

table_name
str

Nom de la table.

scheme
str

Composant de schéma dans l’URL complète du compte Tables.

url
str

Point de terminaison de stockage.

api_version
str

Version de l’API de service.

Méthodes

close

Cette méthode consiste à fermer les sockets ouverts par le client. Il n’a pas besoin d’être utilisé lors de l’utilisation avec un gestionnaire de contexte.

create_entity

Insérer une entité dans une table.

create_table

Crée une table sous le compte actif.

delete_entity

Supprime l’entité spécifiée dans une table. Aucune erreur n’est générée si l’entité ou PartitionKey-RowKey appairage est introuvable.

delete_table

Supprime la table sous le compte actif. Aucune erreur n’est générée si la table n’existe pas

from_connection_string

Créez TableClient à partir d’une chaîne de connexion.

from_table_url

Client pour interagir avec une table spécifique.

AzureSasCredential (azure-core) ou une implémentation TokenCredential à partir d’azure-identity. informations d’identification :p aramtype :

~azure.core.credentials.AzureNamedKeyCredential ou ~azure.core.credentials.AzureSasCredential ou None

get_entity

Obtenir une seule entité dans une table.

get_table_access_policy

Récupère des détails sur les stratégies d’accès stockées spécifiées dans la table qui peuvent être utilisées avec les signatures d’accès partagé.

list_entities

Répertorie les entités d’une table.

query_entities

Répertorie les entités d’une table.

set_table_access_policy

Définit les stratégies d’accès stockées pour la table qui peut être utilisée avec les signatures d’accès partagé.

submit_transaction

Commitez une liste d’opérations en tant que transaction unique.

Si l’une de ces opérations échoue, l’intégralité de la transaction est rejetée.

update_entity

Mettre à jour l’entité dans une table.

upsert_entity

Mettre à jour/fusionner ou insérer une entité dans une table.

close

Cette méthode consiste à fermer les sockets ouverts par le client. Il n’a pas besoin d’être utilisé lors de l’utilisation avec un gestionnaire de contexte.

close() -> None

create_entity

Insérer une entité dans une table.

create_entity(entity: TableEntity | Mapping[str, Any], **kwargs) -> Dict[str, Any]

Paramètres

entity
Union[TableEntity, Mapping[str, Any]]
Obligatoire

Propriétés de l’entité table.

Retours

Métadonnées de l’opération de mappage de dictionnaire retournées par le service

Type de retour

Exceptions

Exemples

Création et ajout d’une entité à une table


   try:
       resp = table_client.create_entity(entity=self.entity)
       print(resp)
   except ResourceExistsError:
       print("Entity already exists")

create_table

Crée une table sous le compte actif.

create_table(**kwargs) -> TableItem

Retours

TableItem représentant la table créée.

Type de retour

Exceptions

Si l’entité existe déjà

Exemples

Création d’une table à partir de l’objet TableClient


   with TableClient.from_connection_string(
       conn_str=self.connection_string, table_name=self.table_name
   ) as table_client:
       try:
           table_item = table_client.create_table()
           print("Created table {}!".format(table_item.name))
       except ResourceExistsError:
           print("Table already exists")

delete_entity

Supprime l’entité spécifiée dans une table. Aucune erreur n’est générée si l’entité ou PartitionKey-RowKey appairage est introuvable.

delete_entity(partition_key: str, row_key: str, **kwargs) -> None

Paramètres

partition_key
str
Obligatoire

Clé de partition de l’entité.

row_key
str
Obligatoire

Clé de ligne de l’entité.

entity
Union[TableEntity, Mapping[str, str]]
Obligatoire

Entité à supprimer

etag
str

Etag de l’entité

match_condition
MatchConditions

Condition dans laquelle effectuer l’opération. Les valeurs prises en charge sont les suivantes : MatchConditions.IfNotModified, MatchConditions.Unconditionally. La valeur par défaut est Sans condition.

Retours

Aucun

Exceptions

Exemples

Suppression d’une entité d’une table


   table_client.delete_entity(row_key=self.entity["RowKey"], partition_key=self.entity["PartitionKey"])
   print("Successfully deleted!")

delete_table

Supprime la table sous le compte actif. Aucune erreur n’est générée si la table n’existe pas

delete_table(**kwargs) -> None

Retours

Aucun

Exceptions

Exemples

Suppression d’une table de l’objet TableClient


   with TableClient.from_connection_string(
       conn_str=self.connection_string, table_name=self.table_name
   ) as table_client:
       table_client.delete_table()
       print("Deleted table {}!".format(table_client.table_name))

from_connection_string

Créez TableClient à partir d’une chaîne de connexion.

from_connection_string(conn_str: str, table_name: str, **kwargs) -> TableClient

Paramètres

conn_str
str
Obligatoire

Chaîne de connexion à un compte Azure Tables.

table_name
str
Obligatoire

Nom de la table.

Retours

Client de table.

Type de retour

Exemples

Authentification d’un TableServiceClient à partir d’un connection_string


   from azure.data.tables import TableClient

   with TableClient.from_connection_string(
       conn_str=self.connection_string, table_name="tableName"
   ) as table_client:
       print("Table name: {}".format(table_client.table_name))

from_table_url

Client pour interagir avec une table spécifique.

AzureSasCredential (azure-core) ou une implémentation TokenCredential à partir d’azure-identity. informations d’identification :p aramtype :

~azure.core.credentials.AzureNamedKeyCredential ou ~azure.core.credentials.AzureSasCredential ou None

from_table_url(table_url: str, *, credential: AzureNamedKeyCredential | AzureSasCredential | None = None, **kwargs) -> TableClient

Paramètres

table_url
Obligatoire

Retours

Client de table.

Type de retour

get_entity

Obtenir une seule entité dans une table.

get_entity(partition_key: str, row_key: str, **kwargs) -> TableEntity

Paramètres

partition_key
str
Obligatoire

Clé de partition de l’entité.

row_key
str
Obligatoire

Clé de ligne de l’entité.

select
str ou list[str]

Spécifiez les propriétés souhaitées d’une entité à retourner.

Retours

Métadonnées de l’opération de mappage de dictionnaire retournées par le service

Type de retour

Exceptions

Exemples

Obtenir une entité unique à partir d’une table


   # Get Entity by partition and row key
   got_entity = table.get_entity(partition_key=my_entity["PartitionKey"], row_key=my_entity["RowKey"])
   print("Received entity: {}".format(got_entity))

get_table_access_policy

Récupère des détails sur les stratégies d’accès stockées spécifiées dans la table qui peuvent être utilisées avec les signatures d’accès partagé.

get_table_access_policy(**kwargs) -> Dict[str, TableAccessPolicy | None]

Retours

Dictionnaire de SignIdentifiers

Type de retour

Exceptions

list_entities

Répertorie les entités d’une table.

list_entities(**kwargs) -> ItemPaged[TableEntity]

Paramètres

results_per_page
int

Nombre d’entités retournées par demande de service.

select
str ou list[str]

Spécifiez les propriétés souhaitées d’une entité à retourner.

Retours

Itérateur de TableEntity

Type de retour

Exceptions

Exemples

Répertorier toutes les entités conservées dans une table


   # Query the entities in the table
   entities = list(table.list_entities())
   for i, entity in enumerate(entities):
       print("Entity #{}: {}".format(entity, i))

query_entities

Répertorie les entités d’une table.

query_entities(query_filter: str, **kwargs) -> ItemPaged[TableEntity]

Paramètres

query_filter
str
Obligatoire

Spécifiez un filtre pour retourner certaines entités. Pour plus d’informations sur la mise en forme des filtres, consultez la documentation des exemples.

results_per_page
int

Nombre d’entités retournées par demande de service.

select
str ou list[str]

Spécifiez les propriétés souhaitées d’une entité à retourner.

parameters
dict[str, Any]

Dictionnaire pour la mise en forme de la requête avec des paramètres supplémentaires définis par l’utilisateur

Retours

Itérateur de TableEntity

Type de retour

Exceptions

Exemples

Entités de requête conservées dans une table


   with TableClient.from_connection_string(self.connection_string, self.table_name) as table_client:
       try:
           print("Basic sample:")
           print("Entities with name: marker")
           parameters = {"name": "marker"}
           name_filter = "Name eq @name"
           queried_entities = table_client.query_entities(
               query_filter=name_filter, select=["Brand", "Color"], parameters=parameters
           )

           for entity_chosen in queried_entities:
               print(entity_chosen)

           print("Sample for querying entities withtout metadata:")
           print("Entities with name: marker")
           parameters = {"name": "marker"}
           name_filter = "Name eq @name"
           headers = {"Accept": "application/json;odata=nometadata"}
           queried_entities = table_client.query_entities(
               query_filter=name_filter, select=["Brand", "Color"], parameters=parameters, headers=headers
           )
           for entity_chosen in queried_entities:
               print(entity_chosen)

           print("Sample for querying entities with multiple params:")
           print("Entities with name: marker and brand: Crayola")
           parameters = {"name": "marker", "brand": "Crayola"}
           name_filter = "Name eq @name and Brand eq @brand"
           queried_entities = table_client.query_entities(
               query_filter=name_filter, select=["Brand", "Color"], parameters=parameters
           )
           for entity_chosen in queried_entities:
               print(entity_chosen)

           print("Sample for querying entities' values:")
           print("Entities with 25 < Value < 50")
           parameters = {"lower": 25, "upper": 50}  # type: ignore
           name_filter = "Value gt @lower and Value lt @upper"
           queried_entities = table_client.query_entities(
               query_filter=name_filter, select=["Value"], parameters=parameters
           )
           for entity_chosen in queried_entities:
               print(entity_chosen)
       except HttpResponseError as e:
           raise

set_table_access_policy

Définit les stratégies d’accès stockées pour la table qui peut être utilisée avec les signatures d’accès partagé.

set_table_access_policy(signed_identifiers: Dict[str, TableAccessPolicy | None], **kwargs) -> None

Paramètres

signed_identifiers
dict[str, TableAccessPolicy] ou dict[str, None]
Obligatoire

Stratégies d’accès à définir pour la table

Retours

Aucun

Exceptions

submit_transaction

Commitez une liste d’opérations en tant que transaction unique.

Si l’une de ces opérations échoue, l’intégralité de la transaction est rejetée.

submit_transaction(operations: Iterable[Tuple[TransactionOperation | str, TableEntity | Mapping[str, Any]] | Tuple[TransactionOperation | str, TableEntity | Mapping[str, Any], Mapping[str, Any]]], **kwargs) -> List[Mapping[str, Any]]

Paramètres

operations
Iterable[Tuple[str, TableEntity, Mapping[str, Any]]]
Obligatoire

Liste des opérations à valider dans une transaction. Il doit s’agir d’une itérable de tuples contenant un nom d’opération, l’entité sur laquelle fonctionner et éventuellement, un dict de kwargs supplémentaires pour cette opération. Par exemple :


   - ('upsert', {'PartitionKey': 'A', 'RowKey': 'B'})
   - ('upsert', {'PartitionKey': 'A', 'RowKey': 'B'}, {'mode': UpdateMode.REPLACE})

Retours

Liste des mappages avec les métadonnées de réponse pour chaque opération dans la transaction.

Type de retour

Exceptions

Exemples

Utilisation de transactions pour envoyer plusieurs demandes à la fois


   from azure.data.tables import TableClient, TableTransactionError
   from azure.core.exceptions import ResourceExistsError

   self.table_client = TableClient.from_connection_string(
       conn_str=self.connection_string, table_name=self.table_name
   )

   try:
       self.table_client.create_table()
       print("Created table")
   except ResourceExistsError:
       print("Table already exists")

   self.table_client.upsert_entity(entity2)
   self.table_client.upsert_entity(entity3)
   self.table_client.upsert_entity(entity4)

   operations = [
       ("upsert", entity1),
       ("delete", entity2),
       ("upsert", entity3),
       ("update", entity4, {"mode": "replace"}),
   ]
   try:
       self.table_client.submit_transaction(operations)  # type: ignore[arg-type]
   except TableTransactionError as e:
       print("There was an error with the transaction operation")
       print(e)

update_entity

Mettre à jour l’entité dans une table.

update_entity(entity: TableEntity | Mapping[str, Any], mode: UpdateMode = UpdateMode.MERGE, **kwargs) -> Dict[str, Any]

Paramètres

entity
TableEntity ou dict[str, Any]
Obligatoire

Propriétés de l’entité table.

mode
UpdateMode
Obligatoire

Fusionner ou remplacer une entité

etag
str

Etag de l’entité

match_condition
MatchConditions

Condition dans laquelle effectuer l’opération. Les valeurs prises en charge sont les suivantes : MatchConditions.IfNotModified, MatchConditions.Unconditionally. La valeur par défaut est Sans condition.

Retours

Métadonnées de l’opération de mappage de dictionnaire retournées par le service

Type de retour

Exceptions

Exemples

Mise à jour d’une entité qui quitte déjà une table


   # Update the entity
   created["text"] = "NewMarker"
   table.update_entity(mode=UpdateMode.REPLACE, entity=created)

   # Get the replaced entity
   replaced = table.get_entity(partition_key=created["PartitionKey"], row_key=created["RowKey"])
   print("Replaced entity: {}".format(replaced))

   # Merge the entity
   replaced["color"] = "Blue"
   table.update_entity(mode=UpdateMode.MERGE, entity=replaced)

   # Get the merged entity
   merged = table.get_entity(partition_key=replaced["PartitionKey"], row_key=replaced["RowKey"])
   print("Merged entity: {}".format(merged))

upsert_entity

Mettre à jour/fusionner ou insérer une entité dans une table.

upsert_entity(entity: TableEntity | Mapping[str, Any], mode: UpdateMode = UpdateMode.MERGE, **kwargs) -> Dict[str, Any]

Paramètres

entity
TableEntity ou dict[str, Any]
Obligatoire

Propriétés de l’entité table.

mode
UpdateMode
Obligatoire

Fusionner ou remplacer une entité

Retours

Métadonnées de l’opération de mappage de dictionnaire retournées par le service

Type de retour

Exceptions

Exemples

Mettre à jour/fusionner ou insérer une entité dans une table


   # Try Replace and insert on fail
   insert_entity = table.upsert_entity(mode=UpdateMode.REPLACE, entity=entity1)
   print("Inserted entity: {}".format(insert_entity))

   created["text"] = "NewMarker"
   merged_entity = table.upsert_entity(mode=UpdateMode.MERGE, entity=entity)
   print("Merged entity: {}".format(merged_entity))

Attributs

api_version

Version de l’API de stockage utilisée pour les requêtes.

Retours

Version de l’API stockage.

url

URL de point de terminaison complète de cette entité, y compris le jeton SAP s’il est utilisé.

Il peut s’agir du point de terminaison principal ou du point de terminaison secondaire en fonction du actuel <xref:azure.data.tables.location_mode>.

Retours

URL complète du point de terminaison, y compris le jeton SAP, si elle est utilisée.

Type de retour

str