Udostępnij za pośrednictwem


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.TablesBaseClient
TableClient

Konstruktor

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

Parametry

endpoint
str
Wymagane

Adres URL konta usługi Azure Tables.

table_name
str
Wymagane

Nazwa tabeli.

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

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

Właściwości jednostki tabeli.

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

partition_key
str
Wymagane

Klucz partycji jednostki.

row_key
str
Wymagane

Klucz wiersza jednostki.

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

Jednostka do usunięcia

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

conn_str
str
Wymagane

Parametry połączenia z kontem usługi Azure Tables.

table_name
str
Wymagane

Nazwa tabeli.

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
Wymagane

Zwraca

Klient tabeli.

Typ zwracany

get_entity

Pobierz pojedynczą jednostkę w tabeli.

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

Parametry

partition_key
str
Wymagane

Klucz partycji jednostki.

row_key
str
Wymagane

Klucz wiersza jednostki.

select
str lub list[str]

Określ żądane właściwości jednostki do zwrócenia.

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.

select
str lub list[str]

Określ żądane właściwości jednostki do zwrócenia.

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
Wymagane

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.

select
str lub list[str]

Określ żądane właściwości jednostki do zwrócenia.

parameters
dict[str, Any]

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

signed_identifiers
dict[str, TableAccessPolicy] lub dict[str, None]
Wymagane

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

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

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

entity
TableEntity lub dict[str, Any]
Wymagane

Właściwości jednostki tabeli.

mode
UpdateMode
Wymagane

Scalanie lub zastępowanie jednostki

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

entity
TableEntity lub dict[str, Any]
Wymagane

Właściwości jednostki tabeli.

mode
UpdateMode
Wymagane

Scalanie lub zastępowanie jednostki

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

str