Compartir a través de


TableClient Clase

Un cliente para interactuar con una tabla específica en una cuenta de Azure Tables.

Cree TableClient a partir de una credencial.

Herencia
azure.data.tables._base_client.TablesBaseClient
TableClient

Constructor

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

Parámetros

endpoint
str
Requerido

Una dirección URL a una cuenta de Azure Tables.

table_name
str
Requerido

El nombre de la tabla.

credential
AzureNamedKeyCredential o AzureSasCredential o TokenCredential o None

Credenciales con las que se va a autenticar. Esto es opcional si la dirección URL de la cuenta ya tiene un token de SAS. El valor puede ser una de AzureNamedKeyCredential (azure-core), AzureSasCredential (azure-core) o una implementación de TokenCredential de azure-identity.

api_version
str

Especifica la versión de la operación que se utiliza para esta solicitud. El valor predeterminado es "2019-02-02".

Variables

account_name
str

Nombre de la cuenta tables.

table_name
str

Nombre de la tabla.

scheme
str

Componente de esquema en la dirección URL completa de la cuenta De tablas.

url
str

Punto de conexión de almacenamiento.

api_version
str

La versión de la API del servicio.

Métodos

close

Este método consiste en cerrar los sockets abiertos por el cliente. No es necesario usarse cuando se usa con un administrador de contextos.

create_entity

Insertar entidad en una tabla.

create_table

Crea una nueva tabla en la cuenta actual.

delete_entity

Elimina la entidad especificada en una tabla. No se producirá ningún error si no se encuentra la entidad o el emparejamiento PartitionKey-RowKey.

delete_table

Elimina la tabla de la cuenta actual. No se generará ningún error si la tabla no existe

from_connection_string

Cree TableClient a partir de una cadena de conexión.

from_table_url

Un cliente para interactuar con una tabla específica.

AzureSasCredential (azure-core) o una implementación de TokenCredential de azure-identity. credencial :p aramtype:

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

get_entity

Obtenga una sola entidad en una tabla.

get_table_access_policy

Recupera detalles sobre las directivas de acceso almacenadas especificadas en la tabla que se pueden usar con firmas de acceso compartido.

list_entities

Enumera las entidades de una tabla.

query_entities

Enumera las entidades de una tabla.

set_table_access_policy

Establece directivas de acceso almacenadas para la tabla que se pueden usar con firmas de acceso compartido.

submit_transaction

Confirme una lista de operaciones como una sola transacción.

Si se produce un error en alguna de estas operaciones, se rechazará toda la transacción.

update_entity

Actualice la entidad en una tabla.

upsert_entity

Actualizar o combinar o insertar entidad en la tabla.

close

Este método consiste en cerrar los sockets abiertos por el cliente. No es necesario usarse cuando se usa con un administrador de contextos.

close() -> None

create_entity

Insertar entidad en una tabla.

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

Parámetros

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

Propiedades de la entidad de tabla.

Devoluciones

Metadatos de la operación de asignación de diccionarios devueltos desde el servicio

Tipo de valor devuelto

Excepciones

Ejemplos

Creación y adición de una entidad a una tabla


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

create_table

Crea una nueva tabla en la cuenta actual.

create_table(**kwargs) -> TableItem

Devoluciones

Objeto TableItem que representa la tabla creada.

Tipo de valor devuelto

Excepciones

Si la entidad ya existe

Ejemplos

Creación de una tabla a partir del objeto 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

Elimina la entidad especificada en una tabla. No se producirá ningún error si no se encuentra la entidad o el emparejamiento PartitionKey-RowKey.

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

Parámetros

partition_key
str
Requerido

Clave de partición de la entidad.

row_key
str
Requerido

Clave de fila de la entidad.

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

Entidad que se va a eliminar

etag
str

Etag de la entidad

match_condition
MatchConditions

Condición en la que se va a realizar la operación. Los valores admitidos incluyen: MatchConditions.IfNotModified, MatchConditions.Incondicionalmente. El valor predeterminado es Incondicionalmente.

Devoluciones

Ninguno

Excepciones

Ejemplos

Eliminación de una entidad de una tabla


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

delete_table

Elimina la tabla de la cuenta actual. No se generará ningún error si la tabla no existe

delete_table(**kwargs) -> None

Devoluciones

Ninguno

Excepciones

Ejemplos

Eliminación de una tabla del objeto 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

Cree TableClient a partir de una cadena de conexión.

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

Parámetros

conn_str
str
Requerido

Cadena de conexión a una cuenta de Azure Tables.

table_name
str
Requerido

El nombre de la tabla.

Devoluciones

Un cliente de tabla.

Tipo de valor devuelto

Ejemplos

Autenticación de tableServiceClient desde 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

Un cliente para interactuar con una tabla específica.

AzureSasCredential (azure-core) o una implementación de TokenCredential de azure-identity. credencial :p aramtype:

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

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

Parámetros

table_url
Requerido

Devoluciones

Un cliente de tabla.

Tipo de valor devuelto

get_entity

Obtenga una sola entidad en una tabla.

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

Parámetros

partition_key
str
Requerido

Clave de partición de la entidad.

row_key
str
Requerido

Clave de fila de la entidad.

select
str o list[str]

Especifique las propiedades deseadas de una entidad que se va a devolver.

Devoluciones

Metadatos de la operación de asignación de diccionarios devueltos desde el servicio

Tipo de valor devuelto

Excepciones

Ejemplos

Obtención de una sola entidad de una tabla


   # 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

Recupera detalles sobre las directivas de acceso almacenadas especificadas en la tabla que se pueden usar con firmas de acceso compartido.

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

Devoluciones

Diccionario de SignedIdentifiers

Tipo de valor devuelto

Excepciones

list_entities

Enumera las entidades de una tabla.

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

Parámetros

results_per_page
int

Número de entidades devueltas por solicitud de servicio.

select
str o list[str]

Especifique las propiedades deseadas de una entidad que se va a devolver.

Devoluciones

Iterador de TableEntity

Tipo de valor devuelto

Excepciones

Ejemplos

Enumerar todas las entidades contenidas en una tabla


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

query_entities

Enumera las entidades de una tabla.

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

Parámetros

query_filter
str
Requerido

Especifique un filtro para devolver determinadas entidades. Para obtener más información sobre el formato de filtro, consulte la documentación de ejemplos.

results_per_page
int

Número de entidades devueltas por solicitud de servicio.

select
str o list[str]

Especifique las propiedades deseadas de una entidad que se va a devolver.

parameters
dict[str, Any]

Diccionario para dar formato a la consulta con parámetros adicionales definidos por el usuario

Devoluciones

Iterador de TableEntity

Tipo de valor devuelto

Excepciones

Ejemplos

Consulta de entidades que se mantienen dentro de una tabla


   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

Establece directivas de acceso almacenadas para la tabla que se pueden usar con firmas de acceso compartido.

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

Parámetros

signed_identifiers
dict[str, TableAccessPolicy] o dict[str, None]
Requerido

Directivas de acceso que se van a establecer para la tabla

Devoluciones

Ninguno

Excepciones

submit_transaction

Confirme una lista de operaciones como una sola transacción.

Si se produce un error en alguna de estas operaciones, se rechazará toda la transacción.

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]]

Parámetros

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

Lista de operaciones que se van a confirmar en una transacción. Debe tratarse de una iteración de tuplas que contienen un nombre de operación, la entidad en la que se va a operar y, opcionalmente, un dict de kwargs adicionales para esa operación. Por ejemplo:


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

Devoluciones

Lista de asignaciones con metadatos de respuesta para cada operación de la transacción.

Tipo de valor devuelto

Excepciones

Ejemplos

Uso de transacciones para enviar varias solicitudes a la vez


   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

Actualice la entidad en una tabla.

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

Parámetros

entity
TableEntity o dict[str, Any]
Requerido

Propiedades de la entidad de tabla.

mode
UpdateMode
Requerido

Combinar o reemplazar entidad

etag
str

Etag de la entidad

match_condition
MatchConditions

Condición en la que se va a realizar la operación. Los valores admitidos incluyen: MatchConditions.IfNotModified, MatchConditions.Incondicionalmente. El valor predeterminado es Incondicionalmente.

Devoluciones

Metadatos de la operación de asignación de diccionarios devueltos desde el servicio

Tipo de valor devuelto

Excepciones

Ejemplos

Actualización de una entidad que ya sale de una tabla


   # 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

Actualizar o combinar o insertar entidad en la tabla.

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

Parámetros

entity
TableEntity o dict[str, Any]
Requerido

Propiedades de la entidad de tabla.

mode
UpdateMode
Requerido

Combinar o reemplazar entidad

Devoluciones

Metadatos de la operación de asignación de diccionarios devueltos desde el servicio

Tipo de valor devuelto

Excepciones

Ejemplos

Actualizar o combinar o insertar una entidad en una tabla


   # 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))

Atributos

api_version

La versión de la API de storage que se usa para las solicitudes.

Devoluciones

La versión de la API de storage.

url

Dirección URL completa del punto de conexión a esta entidad, incluido el token de SAS si se usa.

Puede ser el punto de conexión principal o el punto de conexión secundario en función del actual <xref:azure.data.tables.location_mode>.

Devoluciones

Dirección URL completa del punto de conexión, incluido el token de SAS, si se usa.

Tipo de valor devuelto

str