TableClient Klasa
Klient do interakcji z określoną tabelą na koncie tabel platformy Azure.
Utwórz element TableClient na podstawie poświadczeń.
- Dziedziczenie
-
azure.data.tables._base_client.TablesBaseClientTableClient
Konstruktor
TableClient(endpoint: str, table_name: str, *, credential: AzureNamedKeyCredential | AzureSasCredential | TokenCredential | None = None, **kwargs)
Parametry
- credential
- AzureNamedKeyCredential lub AzureSasCredential lub TokenCredential lub None
Poświadczenia, za pomocą których należy się uwierzytelniać. Jest to opcjonalne, jeśli adres URL konta ma już token SAS. Wartość może być jedną z wartości AzureNamedKeyCredential (azure-core), AzureSasCredential (azure-core) lub implementacją TokenCredential na podstawie tożsamości platformy Azure.
- api_version
- str
Określa wersję operacji do użycia dla tego żądania. Wartość domyślna to "2019-02-02".
Zmienne
- account_name
- str
Nazwa konta Tabele.
- table_name
- str
Nazwa tabeli.
- scheme
- str
Składnik schematu w pełnym adresie URL do konta Tabele.
- url
- str
Punkt końcowy magazynu.
- api_version
- str
Wersja interfejsu API usługi.
Metody
close |
Ta metoda polega na zamknięciu gniazd otwartych przez klienta. Nie trzeba jej używać w przypadku używania z menedżerem kontekstu. |
create_entity |
Wstaw jednostkę w tabeli. |
create_table |
Tworzy nową tabelę w ramach bieżącego konta. |
delete_entity |
Usuwa określoną jednostkę w tabeli. Nie zostanie zgłoszony żaden błąd, jeśli nie znaleziono jednostki lub PartitionKey-RowKey parowania. |
delete_table |
Usuwa tabelę w ramach bieżącego konta. Jeśli tabela nie istnieje, nie zostanie zgłoszony żaden błąd |
from_connection_string |
Utwórz element TableClient na podstawie parametrów połączenia. |
from_table_url |
Klient do interakcji z określoną tabelą. AzureSasCredential (azure-core) lub implementacja TokenCredential z platformy azure-identity. poświadczenie :p aramtype: ~azure.core.credentials.AzureNamedKeyCredential lub ~azure.core.credentials.AzureSasCredential lub None |
get_entity |
Pobierz pojedynczą jednostkę w tabeli. |
get_table_access_policy |
Pobiera szczegółowe informacje o wszelkich przechowywanych zasadach dostępu określonych w tabeli, które mogą być używane z sygnaturami dostępu współdzielonego. |
list_entities |
Wyświetla listę jednostek w tabeli. |
query_entities |
Wyświetla listę jednostek w tabeli. |
set_table_access_policy |
Ustawia przechowywane zasady dostępu dla tabeli, które mogą być używane z sygnaturami dostępu współdzielonego. |
submit_transaction |
Zatwierdzanie listy operacji jako pojedynczej transakcji. Jeśli którakolwiek z tych operacji zakończy się niepowodzeniem, cała transakcja zostanie odrzucona. |
update_entity |
Aktualizowanie jednostki w tabeli. |
upsert_entity |
Aktualizowanie/scalanie lub wstawianie jednostki do tabeli. |
close
Ta metoda polega na zamknięciu gniazd otwartych przez klienta. Nie trzeba jej używać w przypadku używania z menedżerem kontekstu.
close() -> None
create_entity
Wstaw jednostkę w tabeli.
create_entity(entity: TableEntity | Mapping[str, Any], **kwargs) -> Dict[str, Any]
Parametry
Zwraca
Metadane operacji mapowania słownika zwrócone z usługi
Typ zwracany
Wyjątki
Przykłady
Tworzenie i dodawanie jednostki do tabeli
try:
resp = table_client.create_entity(entity=self.entity)
print(resp)
except ResourceExistsError:
print("Entity already exists")
create_table
Tworzy nową tabelę w ramach bieżącego konta.
create_table(**kwargs) -> TableItem
Zwraca
Element TableItem reprezentujący utworzoną tabelę.
Typ zwracany
Wyjątki
Jeśli jednostka już istnieje
Przykłady
Tworzenie tabeli na podstawie obiektu 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
Usuwa określoną jednostkę w tabeli. Nie zostanie zgłoszony żaden błąd, jeśli nie znaleziono jednostki lub PartitionKey-RowKey parowania.
delete_entity(partition_key: str, row_key: str, **kwargs) -> None
Parametry
- etag
- str
Etag jednostki
- match_condition
- MatchConditions
Warunek, w którym należy wykonać operację. Obsługiwane wartości to: MatchConditions.IfNotModified, MatchConditions.Unconditionally. Wartość domyślna to Bezwarunkowo.
Zwraca
Brak
Wyjątki
Przykłady
Usuwanie jednostki tabeli
table_client.delete_entity(row_key=self.entity["RowKey"], partition_key=self.entity["PartitionKey"])
print("Successfully deleted!")
delete_table
Usuwa tabelę w ramach bieżącego konta. Jeśli tabela nie istnieje, nie zostanie zgłoszony żaden błąd
delete_table(**kwargs) -> None
Zwraca
Brak
Wyjątki
Przykłady
Usuwanie tabeli z obiektu 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
Utwórz element TableClient na podstawie parametrów połączenia.
from_connection_string(conn_str: str, table_name: str, **kwargs) -> TableClient
Parametry
Zwraca
Klient tabeli.
Typ zwracany
Przykłady
Uwierzytelnianie obiektu TableServiceClient z 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
Klient do interakcji z określoną tabelą.
AzureSasCredential (azure-core) lub implementacja TokenCredential z platformy azure-identity. poświadczenie :p aramtype:
~azure.core.credentials.AzureNamedKeyCredential lub ~azure.core.credentials.AzureSasCredential lub None
from_table_url(table_url: str, *, credential: AzureNamedKeyCredential | AzureSasCredential | None = None, **kwargs) -> TableClient
Parametry
- table_url
Zwraca
Klient tabeli.
Typ zwracany
get_entity
Pobierz pojedynczą jednostkę w tabeli.
get_entity(partition_key: str, row_key: str, **kwargs) -> TableEntity
Parametry
Zwraca
Metadane operacji mapowania słownika zwrócone z usługi
Typ zwracany
Wyjątki
Przykłady
Pobieranie pojedynczej jednostki z tabeli
# 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
Pobiera szczegółowe informacje o wszelkich przechowywanych zasadach dostępu określonych w tabeli, które mogą być używane z sygnaturami dostępu współdzielonego.
get_table_access_policy(**kwargs) -> Dict[str, TableAccessPolicy | None]
Zwraca
Słownik podpisanychidentyfikatorów
Typ zwracany
Wyjątki
list_entities
Wyświetla listę jednostek w tabeli.
list_entities(**kwargs) -> ItemPaged[TableEntity]
Parametry
- results_per_page
- int
Liczba jednostek zwróconych na żądanie obsługi.
Zwraca
Iterator TableEntity
Typ zwracany
Wyjątki
Przykłady
Wyświetlanie listy wszystkich jednostek przechowywanych w tabeli
# Query the entities in the table
entities = list(table.list_entities())
for i, entity in enumerate(entities):
print("Entity #{}: {}".format(entity, i))
query_entities
Wyświetla listę jednostek w tabeli.
query_entities(query_filter: str, **kwargs) -> ItemPaged[TableEntity]
Parametry
- query_filter
- str
Określ filtr, aby zwrócić określone jednostki. Aby uzyskać więcej informacji na temat formatowania filtrów, zobacz dokumentację przykładów.
- results_per_page
- int
Liczba jednostek zwróconych na żądanie obsługi.
Słownik do formatowania zapytania z dodatkowymi parametrami zdefiniowanymi przez użytkownika
Zwraca
Iterator TableEntity
Typ zwracany
Wyjątki
Przykłady
Wykonywanie zapytań o jednostki przechowywane w tabeli
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
Ustawia przechowywane zasady dostępu dla tabeli, które mogą być używane z sygnaturami dostępu współdzielonego.
set_table_access_policy(signed_identifiers: Dict[str, TableAccessPolicy | None], **kwargs) -> None
Parametry
Zasady dostępu do ustawiania dla tabeli
Zwraca
Brak
Wyjątki
submit_transaction
Zatwierdzanie listy operacji jako pojedynczej transakcji.
Jeśli którakolwiek z tych operacji zakończy się niepowodzeniem, cała transakcja zostanie odrzucona.
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]]
Parametry
Lista operacji do zatwierdzenia w transakcji. Powinno to być iterowalne krotki zawierające nazwę operacji, jednostkę, na której ma działać, i opcjonalnie, dykt dodatkowych kwargs dla tej operacji. Na przykład:
- ('upsert', {'PartitionKey': 'A', 'RowKey': 'B'})
- ('upsert', {'PartitionKey': 'A', 'RowKey': 'B'}, {'mode': UpdateMode.REPLACE})
Zwraca
Lista mapowań z metadanymi odpowiedzi dla każdej operacji w transakcji.
Typ zwracany
Wyjątki
Przykłady
Wysyłanie wielu żądań jednocześnie przy użyciu transakcji
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
Aktualizowanie jednostki w tabeli.
update_entity(entity: TableEntity | Mapping[str, Any], mode: UpdateMode = UpdateMode.MERGE, **kwargs) -> Dict[str, Any]
Parametry
- etag
- str
Etag jednostki
- match_condition
- MatchConditions
Warunek, w którym należy wykonać operację. Obsługiwane wartości to: MatchConditions.IfNotModified, MatchConditions.Unconditionally. Wartość domyślna to Bezwarunkowo.
Zwraca
Metadane operacji mapowania słownika zwrócone z usługi
Typ zwracany
Wyjątki
Przykłady
Aktualizowanie już zamykającej jednostki w tabeli
# 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
Aktualizowanie/scalanie lub wstawianie jednostki do tabeli.
upsert_entity(entity: TableEntity | Mapping[str, Any], mode: UpdateMode = UpdateMode.MERGE, **kwargs) -> Dict[str, Any]
Parametry
Zwraca
Metadane operacji mapowania słownika zwrócone z usługi
Typ zwracany
Wyjątki
Przykłady
Aktualizowanie/scalanie lub wstawianie jednostki do tabeli
# 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))
Atrybuty
api_version
Wersja interfejsu API usługi Storage używana na potrzeby żądań.
Zwraca
Wersja interfejsu API usługi Storage.
url
Pełny adres URL punktu końcowego do tej jednostki, w tym token SAS, jeśli jest używany.
Może to być podstawowy punkt końcowy lub pomocniczy punkt końcowy w zależności od bieżącego <xref:azure.data.tables.location_mode>.
Zwraca
Pełny adres URL punktu końcowego, w tym token SAS, jeśli jest używany.
Typ zwracany
Azure SDK for Python