Sdílet prostřednictvím


TableClient Třída

Klient pro interakci s konkrétní tabulkou v účtu Azure Tables.

Vytvořte TableClient z přihlašovacích údajů.

Dědičnost
azure.data.tables._base_client.TablesBaseClient
TableClient

Konstruktor

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

Parametry

endpoint
str
Vyžadováno

Adresa URL účtu Azure Tables.

table_name
str
Vyžadováno

Název tabulky.

credential
AzureNamedKeyCredential nebo AzureSasCredential nebo TokenCredential nebo None

Přihlašovací údaje, pomocí kterých se má ověřit. Tato možnost je volitelná, pokud adresa URL účtu už token SAS má. Hodnota může být jedna z azureNamedKeyCredential (azure-core), AzureSasCredential (azure-core) nebo TokenCredential implementace z azure-identity.

api_version
str

Určuje verzi operace, která se má použít pro tento požadavek. Výchozí hodnota je "2019-02-02".

Proměnné

account_name
str

Název účtu Tabulky.

table_name
str

Název tabulky.

scheme
str

Komponenta schématu v úplné adrese URL účtu Tables.

url
str

Koncový bod úložiště.

api_version
str

Verze rozhraní API služby.

Metody

close

Tato metoda slouží k zavření soketů otevřených klientem. Nemusí se používat při použití se správcem kontextu.

create_entity

Vložení entity do tabulky

create_table

Vytvoří novou tabulku pod aktuálním účtem.

delete_entity

Odstraní zadanou entitu v tabulce. Pokud se nenajde párování entity nebo PartitionKey-RowKey, nevyvolá se žádná chyba.

delete_table

Odstraní tabulku pod aktuálním účtem. Pokud tabulka neexistuje, nebude vyvolána žádná chyba.

from_connection_string

Vytvořte TableClient z připojovacího řetězce.

from_table_url

Klient pro interakci s konkrétní tabulkou.

AzureSasCredential (azure-core) nebo implementace TokenCredential z azure-identity. přihlašovací údaje :p aramtype:

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

get_entity

Získání jedné entity v tabulce

get_table_access_policy

Načte podrobnosti o všech uložených zásadách přístupu zadaných v tabulce, které se dají použít se sdílenými přístupovými podpisy.

list_entities

Zobrazí seznam entit v tabulce.

query_entities

Zobrazí seznam entit v tabulce.

set_table_access_policy

Nastaví uložené zásady přístupu pro tabulku, která se může použít se sdílenými přístupovými podpisy.

submit_transaction

Potvrzení seznamu operací jako jedné transakce

Pokud některá z těchto operací selže, celá transakce bude odmítnuta.

update_entity

Aktualizujte entitu v tabulce.

upsert_entity

Aktualizace nebo sloučení nebo vložení entity do tabulky

close

Tato metoda slouží k zavření soketů otevřených klientem. Nemusí se používat při použití se správcem kontextu.

close() -> None

create_entity

Vložení entity do tabulky

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

Parametry

entity
Union[TableEntity, Mapping[str, Any]]
Vyžadováno

Vlastnosti entity tabulky.

Návraty

Metadata operace mapování slovníku vrácená ze služby

Návratový typ

Výjimky

Příklady

Vytvoření a přidání entity do tabulky


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

create_table

Vytvoří novou tabulku pod aktuálním účtem.

create_table(**kwargs) -> TableItem

Návraty

A TableItem představující vytvořenou tabulku.

Návratový typ

Výjimky

Pokud entita již existuje

Příklady

Vytvoření tabulky z objektu 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

Odstraní zadanou entitu v tabulce. Pokud se nenajde párování entity nebo PartitionKey-RowKey, nevyvolá se žádná chyba.

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

Parametry

partition_key
str
Vyžadováno

Klíč oddílu entity.

row_key
str
Vyžadováno

Klíč řádku entity.

entity
Union[TableEntity, Mapping[str, str]]
Vyžadováno

Entita, která se má odstranit

etag
str

Značka Etag entity

match_condition
MatchConditions

Podmínka, za které se má operace provést. Mezi podporované hodnoty patří: MatchConditions.IfNotModified, MatchConditions.Bezpodmínečně. Výchozí hodnota je Bezpodmínečně.

Návraty

Žádné

Výjimky

Příklady

Odstranění entity tabulky


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

delete_table

Odstraní tabulku pod aktuálním účtem. Pokud tabulka neexistuje, nebude vyvolána žádná chyba.

delete_table(**kwargs) -> None

Návraty

Žádné

Výjimky

Příklady

Odstranění tabulky z objektu 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

Vytvořte TableClient z připojovacího řetězce.

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

Parametry

conn_str
str
Vyžadováno

Připojovací řetězec k účtu Azure Tables.

table_name
str
Vyžadováno

Název tabulky.

Návraty

Klient tabulky.

Návratový typ

Příklady

Ověřování klienta TableServiceClient ze 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 pro interakci s konkrétní tabulkou.

AzureSasCredential (azure-core) nebo implementace TokenCredential z azure-identity. přihlašovací údaje :p aramtype:

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

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

Parametry

table_url
Vyžadováno

Návraty

Klient tabulky.

Návratový typ

get_entity

Získání jedné entity v tabulce

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

Parametry

partition_key
str
Vyžadováno

Klíč oddílu entity.

row_key
str
Vyžadováno

Klíč řádku entity.

select
str nebo list[str]

Zadejte požadované vlastnosti entity, která se má vrátit.

Návraty

Metadata operace mapování slovníku vrácená ze služby

Návratový typ

Výjimky

Příklady

Získání jedné entity z tabulky


   # 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

Načte podrobnosti o všech uložených zásadách přístupu zadaných v tabulce, které se dají použít se sdílenými přístupovými podpisy.

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

Návraty

Slovník SignIdentifiers

Návratový typ

Výjimky

list_entities

Zobrazí seznam entit v tabulce.

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

Parametry

results_per_page
int

Počet entit vrácených na žádost o službu

select
str nebo list[str]

Zadejte požadované vlastnosti entity, která se má vrátit.

Návraty

Iterátor TableEntity

Návratový typ

Výjimky

Příklady

Výpis všech entit uložených v tabulce


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

query_entities

Zobrazí seznam entit v tabulce.

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

Parametry

query_filter
str
Vyžadováno

Zadejte filtr pro vrácení určitých entit. Další informace o formátování filtru najdete v dokumentaci k ukázce.

results_per_page
int

Počet entit vrácených na žádost o službu

select
str nebo list[str]

Zadejte požadované vlastnosti entity, která se má vrátit.

parameters
dict[str, Any]

Slovník pro formátovací dotaz s dalšími uživatelem definovanými parametry

Návraty

Iterátor TableEntity

Návratový typ

Výjimky

Příklady

Dotazování entit uložených v tabulce


   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

Nastaví uložené zásady přístupu pro tabulku, která se může použít se sdílenými přístupovými podpisy.

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

Parametry

signed_identifiers
dict[str, TableAccessPolicy] nebo dict[str, None]
Vyžadováno

Zásady přístupu, které se mají nastavit pro tabulku

Návraty

Žádné

Výjimky

submit_transaction

Potvrzení seznamu operací jako jedné transakce

Pokud některá z těchto operací selže, celá transakce bude odmítnuta.

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]]]
Vyžadováno

Seznam operací, které se mají potvrdit v transakci Mělo by se jednat o řazenou kolekci členů obsahující název operace, entitu, se kterou se má operace provádět, a volitelně i dikt dalších kwargů pro danou operaci. Příklad:


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

Návraty

Seznam mapování s metadaty odpovědí pro každou operaci v transakci.

Návratový typ

Výjimky

Příklady

Použití transakcí k odesílání více požadavků najednou


   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

Aktualizujte entitu v tabulce.

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

Parametry

entity
TableEntity nebo dict[str, Any]
Vyžadováno

Vlastnosti entity tabulky.

mode
UpdateMode
Vyžadováno

Sloučení nebo nahrazení entity

etag
str

Značka Etag entity

match_condition
MatchConditions

Podmínka, za které se má operace provést. Mezi podporované hodnoty patří: MatchConditions.IfNotModified, MatchConditions.Bezpodmínečně. Výchozí hodnota je Bezpodmínečně.

Návraty

Metadata operace mapování slovníku vrácená ze služby

Návratový typ

Výjimky

Příklady

Aktualizace již ukončující entity v tabulce


   # 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

Aktualizace nebo sloučení nebo vložení entity do tabulky

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

Parametry

entity
TableEntity nebo dict[str, Any]
Vyžadováno

Vlastnosti entity tabulky.

mode
UpdateMode
Vyžadováno

Sloučení nebo nahrazení entity

Návraty

Metadata operace mapování slovníku vrácená ze služby

Návratový typ

Výjimky

Příklady

Aktualizace nebo sloučení nebo vložení entity do tabulky


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

Atributy

api_version

Verze rozhraní API služby Storage, která se používá pro požadavky.

Návraty

Verze rozhraní API služby Storage.

url

Úplná adresa URL koncového bodu pro tuto entitu, včetně tokenu SAS, pokud je použit.

To může být primární koncový bod nebo sekundární koncový bod v závislosti na aktuálním <xref:azure.data.tables.location_mode>.

Návraty

Úplná adresa URL koncového bodu včetně tokenu SAS, pokud je použita.

Návratový typ

str