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.TablesBaseClientTableClient
Konstruktor
TableClient(endpoint: str, table_name: str, *, credential: AzureNamedKeyCredential | AzureSasCredential | TokenCredential | None = None, **kwargs)
Parameter
- 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]]
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
- 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
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
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
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.
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
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.
Geben Sie die gewünschten Eigenschaften einer zurückzugebenden Entität an.
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
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
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
- 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
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
Azure SDK for Python