Freigeben über


TableClient Klasse

Ein Client für die Interaktion mit einer bestimmten Tabelle in einem Azure Tables-Konto.

Erstellen Sie TableClient aus anmeldeinformationen.

Vererbung
azure.data.tables._base_client.TablesBaseClient
TableClient

Konstruktor

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

Parameter

endpoint
str
Erforderlich

Eine URL zu einem Azure Tables-Konto.

table_name
str
Erforderlich

Der Tabellenname.

credential
AzureNamedKeyCredential oder AzureSasCredential oder TokenCredential oder None

Die Anmeldeinformationen, mit denen die Authentifizierung erfolgt. Dies ist optional, wenn die Konto-URL bereits über ein SAS-Token verfügt. Der Wert kann einer von AzureNamedKeyCredential (azure-core), AzureSasCredential (azure-core) oder einer TokenCredential-Implementierung aus azure-identity sein.

api_version
str

Gibt die Version des für die Anforderung zu verwendenden Vorgangs an. Der Standardwert ist "2019-02-02".

Variablen

account_name
str

Der Name des Tabellenkontos.

table_name
str

Der Name der Tabelle.

scheme
str

Die Schemakomponente in der vollständigen URL des Tabellenkontos.

url
str

Der Speicherendpunkt.

api_version
str

Die Dienst-API-Version.

Methoden

close

Diese Methode besteht darin, die vom Client geöffneten Sockets zu schließen. Es muss nicht verwendet werden, wenn sie mit einem Kontext-Manager verwendet wird.

create_entity

Fügen Sie eine Entität in eine Tabelle ein.

create_table

Erstellt eine neue Tabelle unter dem aktuellen Konto.

delete_entity

Löscht die angegebene Entität in einer Tabelle. Es wird kein Fehler ausgelöst, wenn die Entität oder PartitionKey-RowKey Kopplung nicht gefunden wird.

delete_table

Löscht die Tabelle unter dem aktuellen Konto. Es wird kein Fehler ausgelöst, wenn die Tabelle nicht vorhanden ist.

from_connection_string

Erstellen Sie TableClient aus einer Verbindungszeichenfolge.

from_table_url

Ein Client für die Interaktion mit einer bestimmten Tabelle.

AzureSasCredential (azure-core) oder eine TokenCredential-Implementierung von azure-identity. :p aramtype-Anmeldeinformationen:

~azure.core.credentials.AzureNamedKeyCredential oder ~azure.core.credentials.AzureSasCredential or None

get_entity

Rufen Sie eine einzelne Entität in einer Tabelle ab.

get_table_access_policy

Ruft Details zu allen gespeicherten Zugriffsrichtlinien ab, die in der Tabelle angegeben sind, die mit Shared Access Signatures verwendet werden können.

list_entities

Listet Entitäten in einer Tabelle auf.

query_entities

Listet Entitäten in einer Tabelle auf.

set_table_access_policy

Legt gespeicherte Zugriffsrichtlinien für die Tabelle fest, die mit Shared Access Signatures verwendet werden kann.

submit_transaction

Commit für eine Liste von Vorgängen als einzelne Transaktion.

Wenn einer dieser Vorgänge fehlschlägt, wird die gesamte Transaktion abgelehnt.

update_entity

Aktualisieren sie die Entität in einer Tabelle.

upsert_entity

Aktualisieren/Zusammenführen oder Einfügen von Entitäten in Tabelle.

close

Diese Methode besteht darin, die vom Client geöffneten Sockets zu schließen. Es muss nicht verwendet werden, wenn sie mit einem Kontext-Manager verwendet wird.

close() -> None

create_entity

Fügen Sie eine Entität in eine Tabelle ein.

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

Parameter

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

Die Eigenschaften für die Tabellenentität.

Gibt zurück

Vom Dienst zurückgegebene Metadaten des Wörterbuchzuordnungsvorgangs

Rückgabetyp

Ausnahmen

Beispiele

Erstellen und Hinzufügen einer Entität zu einer Tabelle


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

create_table

Erstellt eine neue Tabelle unter dem aktuellen Konto.

create_table(**kwargs) -> TableItem

Gibt zurück

Ein TableItem,das die erstellte Tabelle darstellt.

Rückgabetyp

Ausnahmen

Wenn die Entität bereits vorhanden ist

Beispiele

Erstellen einer Tabelle aus dem TableClient-Objekt


   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

Löscht die angegebene Entität in einer Tabelle. Es wird kein Fehler ausgelöst, wenn die Entität oder PartitionKey-RowKey Kopplung nicht gefunden wird.

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

Parameter

partition_key
str
Erforderlich

Der Partitionsschlüssel der Entität.

row_key
str
Erforderlich

Der Zeilenschlüssel der Entität.

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

Die zu löschende Entität

etag
str

Etag der Entität

match_condition
MatchConditions

Die Bedingung, unter der der Vorgang ausgeführt werden soll. Unterstützte Werte sind: MatchConditions.IfNotModified, MatchConditions.Bedingungslos. Der Standardwert ist Bedingungslos.

Gibt zurück

Keine

Ausnahmen

Beispiele

Löschen einer Entität einer Tabelle


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

delete_table

Löscht die Tabelle unter dem aktuellen Konto. Es wird kein Fehler ausgelöst, wenn die Tabelle nicht vorhanden ist.

delete_table(**kwargs) -> None

Gibt zurück

Keine

Ausnahmen

Beispiele

Löschen einer Tabelle aus dem TableClient-Objekt


   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

Erstellen Sie TableClient aus einer Verbindungszeichenfolge.

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

Parameter

conn_str
str
Erforderlich

Eine Verbindungszeichenfolge mit einem Azure Tables-Konto.

table_name
str
Erforderlich

Der Tabellenname.

Gibt zurück

Ein Tabellenclient.

Rückgabetyp

Beispiele

Authentifizieren eines TableServiceClient aus einem 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

Ein Client für die Interaktion mit einer bestimmten Tabelle.

AzureSasCredential (azure-core) oder eine TokenCredential-Implementierung von azure-identity. :p aramtype-Anmeldeinformationen:

~azure.core.credentials.AzureNamedKeyCredential oder ~azure.core.credentials.AzureSasCredential or None

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

Parameter

table_url
Erforderlich

Gibt zurück

Ein Tabellenclient.

Rückgabetyp

get_entity

Rufen Sie eine einzelne Entität in einer Tabelle ab.

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

Parameter

partition_key
str
Erforderlich

Der Partitionsschlüssel der Entität.

row_key
str
Erforderlich

Der Zeilenschlüssel der Entität.

select
str oder list[str]

Geben Sie die gewünschten Eigenschaften einer zurückzugebenden Entität an.

Gibt zurück

Vom Dienst zurückgegebene Metadaten des Wörterbuchzuordnungsvorgangs

Rückgabetyp

Ausnahmen

Beispiele

Abrufen einer einzelnen Entität aus einer Tabelle


   # 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

Ruft Details zu allen gespeicherten Zugriffsrichtlinien ab, die in der Tabelle angegeben sind, die mit Shared Access Signatures verwendet werden können.

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

Gibt zurück

Wörterbuch von SignedIdentifiers

Rückgabetyp

Ausnahmen

list_entities

Listet Entitäten in einer Tabelle auf.

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

Parameter

results_per_page
int

Anzahl der entitäten, die pro Dienstanforderung zurückgegeben werden.

select
str oder list[str]

Geben Sie die gewünschten Eigenschaften einer zurückzugebenden Entität an.

Gibt zurück

Ein Iterator von TableEntity

Rückgabetyp

Ausnahmen

Beispiele

Auflisten aller Entitäten in einer Tabelle


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

query_entities

Listet Entitäten in einer Tabelle auf.

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

Parameter

query_filter
str
Erforderlich

Geben Sie einen Filter an, um bestimmte Entitäten zurückzugeben. Weitere Informationen zur Filterformatierung finden Sie in der Dokumentation zu Den Beispielen.

results_per_page
int

Anzahl der entitäten, die pro Dienstanforderung zurückgegeben werden.

select
str oder list[str]

Geben Sie die gewünschten Eigenschaften einer zurückzugebenden Entität an.

parameters
dict[str, Any]

Wörterbuch zum Formatieren von Abfragen mit zusätzlichen, benutzerdefinierten Parametern

Gibt zurück

Ein Iterator von TableEntity

Rückgabetyp

Ausnahmen

Beispiele

Abfrageentitäten, die sich in einer Tabelle befinden


   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

Legt gespeicherte Zugriffsrichtlinien für die Tabelle fest, die mit Shared Access Signatures verwendet werden kann.

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

Parameter

signed_identifiers
dict[str, TableAccessPolicy] oder dict[str, None]
Erforderlich

Zugriffsrichtlinien, die für die Tabelle festgelegt werden sollen

Gibt zurück

Keine

Ausnahmen

submit_transaction

Commit für eine Liste von Vorgängen als einzelne Transaktion.

Wenn einer dieser Vorgänge fehlschlägt, wird die gesamte Transaktion abgelehnt.

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

Parameter

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

Die Liste der Vorgänge, die in einer Transaktion committ werden sollen. Dies sollte ein Iterable von Tupeln sein, die einen Vorgangsnamen, die Entität, auf der ausgeführt werden soll, und optional ein Diktat zusätzlicher Kwargs für diesen Vorgang enthalten. Beispiel:


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

Gibt zurück

Eine Liste von Zuordnungen mit Antwortmetadaten für jeden Vorgang in der Transaktion.

Rückgabetyp

Ausnahmen

Beispiele

Verwenden von Transaktionen zum Senden mehrerer Anforderungen auf einmal


   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

Aktualisieren sie die Entität in einer Tabelle.

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

Parameter

entity
TableEntity oder dict[str, Any]
Erforderlich

Die Eigenschaften für die Tabellenentität.

mode
UpdateMode
Erforderlich

Entität zusammenführen oder ersetzen

etag
str

Etag der Entität

match_condition
MatchConditions

Die Bedingung, unter der der Vorgang ausgeführt werden soll. Unterstützte Werte sind: MatchConditions.IfNotModified, MatchConditions.Bedingungslos. Der Standardwert ist Bedingungslos.

Gibt zurück

Vom Dienst zurückgegebene Metadaten des Wörterbuchzuordnungsvorgangs

Rückgabetyp

Ausnahmen

Beispiele

Aktualisieren einer bereits beendeten Entität in einer Tabelle


   # 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

Aktualisieren/Zusammenführen oder Einfügen von Entitäten in Tabelle.

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

Parameter

entity
TableEntity oder dict[str, Any]
Erforderlich

Die Eigenschaften für die Tabellenentität.

mode
UpdateMode
Erforderlich

Entität zusammenführen oder ersetzen

Gibt zurück

Vom Dienst zurückgegebene Metadaten des Wörterbuchzuordnungsvorgangs

Rückgabetyp

Ausnahmen

Beispiele

Aktualisieren/Zusammenführen oder Einfügen einer Entität in eine Tabelle


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

Attribute

api_version

Die Version der Speicher-API, die für Anforderungen verwendet wird.

Gibt zurück

Die Storage-API-Version.

url

Die vollständige Endpunkt-URL für diese Entität, einschließlich SAS-Token, falls verwendet.

Dies kann entweder der primäre Endpunkt oder der sekundäre Endpunkt sein, abhängig vom aktuellen <xref:azure.data.tables.location_mode>.

Gibt zurück

Die vollständige Endpunkt-URL einschließlich SAS-Token, falls verwendet.

Rückgabetyp

str