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.TablesBaseClientTableClient
Constructeur
TableClient(endpoint: str, table_name: str, *, credential: AzureNamedKeyCredential | AzureSasCredential | TokenCredential | None = None, **kwargs)
Paramètres
- 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
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
- 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
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
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
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.
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
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.
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
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
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
- 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
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
Azure SDK for Python