Megosztás a következőn keresztül:


TableClient Osztály

Egy ügyfél, amely egy Azure Tables-fiók adott táblájával kommunikál.

A TableClient létrehozása hitelesítő adatokból.

Öröklődés
azure.data.tables._base_client.TablesBaseClient
TableClient

Konstruktor

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

Paraméterek

endpoint
str
Kötelező

Egy Azure Tables-fiók URL-címe.

table_name
str
Kötelező

A tábla neve.

credential
AzureNamedKeyCredential vagy AzureSasCredential vagy TokenCredential vagy None

A hitelesítéshez használt hitelesítő adatok. Ez nem kötelező, ha a fiók URL-címe már rendelkezik SAS-jogkivonattal. Az érték lehet az AzureNamedKeyCredential (azure-core), az AzureSasCredential (azure-core) vagy az Azure-Identity tokenCredential implementációja.

api_version
str

A kérelemhez használni kívánt művelet verzióját adja meg. Az alapértelmezett érték a "2019-02-02".

Változók

account_name
str

A Táblák fiók neve.

table_name
str

A tábla neve.

scheme
str

A sémaösszetevő a Táblák fiók teljes URL-címében.

url
str

A tárolási végpont.

api_version
str

A szolgáltatás API-verziója.

Metódusok

close

Ezzel a módszerrel zárja be az ügyfél által megnyitott szoftvercsatornákat. A környezetkezelővel való használathoz nem szükséges használni.

create_entity

Entitás beszúrása egy táblába.

create_table

Létrehoz egy új táblát az aktuális fiók alatt.

delete_entity

Törli a megadott entitást egy táblában. Nem jelenik meg hiba, ha az entitás vagy PartitionKey-RowKey párosítása nem található.

delete_table

Törli a táblázatot az aktuális fiók alatt. Nem jelenik meg hiba, ha a tábla nem létezik

from_connection_string

TableClient létrehozása kapcsolati sztringből.

from_table_url

Egy ügyfél, amely egy adott táblával kommunikál.

AzureSasCredential (azure-core) vagy tokenCredential implementáció az azure-identityből. :p aramtype hitelesítő adatok:

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

get_entity

Egyetlen entitás lekérése egy táblában.

get_table_access_policy

Lekéri a táblában megadott, megosztott hozzáférésű jogosultságkódokkal használható tárolt hozzáférési szabályzatok részleteit.

list_entities

Egy tábla entitásainak listázása.

query_entities

Egy tábla entitásainak listázása.

set_table_access_policy

Beállítja a megosztott hozzáférésű jogosultságkódokkal használható táblához tartozó tárolt hozzáférési szabályzatokat.

submit_transaction

A műveletek listájának véglegesítése egyetlen tranzakcióként.

Ha bármelyik művelet meghiúsul, a rendszer a teljes tranzakciót elutasítja.

update_entity

Egy tábla entitásának frissítése.

upsert_entity

Entitás frissítése/egyesítése vagy beszúrása a táblába.

close

Ezzel a módszerrel zárja be az ügyfél által megnyitott szoftvercsatornákat. A környezetkezelővel való használathoz nem szükséges használni.

close() -> None

create_entity

Entitás beszúrása egy táblába.

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

Paraméterek

entity
Union[TableEntity, Mapping[str, Any]]
Kötelező

A táblaentitás tulajdonságai.

Válaszok

A szolgáltatásból visszaadott szótárleképezési művelet metaadatai

Visszatérési típus

Kivételek

Példák

Entitás létrehozása és hozzáadása egy táblához


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

create_table

Létrehoz egy új táblát az aktuális fiók alatt.

create_table(**kwargs) -> TableItem

Válaszok

A létrehozott táblát képviselő TableItem.

Visszatérési típus

Kivételek

Ha az entitás már létezik

Példák

Tábla létrehozása a TableClient objektumból


   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

Törli a megadott entitást egy táblában. Nem jelenik meg hiba, ha az entitás vagy PartitionKey-RowKey párosítása nem található.

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

Paraméterek

partition_key
str
Kötelező

Az entitás partíciókulcsa.

row_key
str
Kötelező

Az entitás sorkulcsa.

entity
Union[TableEntity, Mapping[str, str]]
Kötelező

A törölni kívánt entitás

etag
str

Az entitás etagje

match_condition
MatchConditions

A művelet végrehajtásának feltétele. Támogatott értékek: MatchConditions.IfNotModified, MatchConditions.Feltétel nélkül. Az alapértelmezett érték feltétel nélkül.

Válaszok

None

Kivételek

Példák

Tábla entitásának törlése


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

delete_table

Törli a táblázatot az aktuális fiók alatt. Nem jelenik meg hiba, ha a tábla nem létezik

delete_table(**kwargs) -> None

Válaszok

None

Kivételek

Példák

Tábla törlése a TableClient objektumból


   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

TableClient létrehozása kapcsolati sztringből.

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

Paraméterek

conn_str
str
Kötelező

Azure Tables-fiókhoz kapcsolati sztring.

table_name
str
Kötelező

A tábla neve.

Válaszok

Egy táblaügyfél.

Visszatérési típus

Példák

TableServiceClient hitelesítése egy 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

Egy ügyfél, amely egy adott táblával kommunikál.

AzureSasCredential (azure-core) vagy tokenCredential implementáció az azure-identityből. :p aramtype hitelesítő adatok:

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

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

Paraméterek

table_url
Kötelező

Válaszok

Egy táblaügyfél.

Visszatérési típus

get_entity

Egyetlen entitás lekérése egy táblában.

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

Paraméterek

partition_key
str
Kötelező

Az entitás partíciókulcsa.

row_key
str
Kötelező

Az entitás sorkulcsa.

select
str vagy list[str]

Adja meg a visszaadandó entitás kívánt tulajdonságait.

Válaszok

A szolgáltatásból visszaadott szótárleképezési művelet metaadatai

Visszatérési típus

Kivételek

Példák

Egyetlen entitás lekérése egy táblából


   # 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

Lekéri a táblában megadott, megosztott hozzáférésű jogosultságkódokkal használható tárolt hozzáférési szabályzatok részleteit.

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

Válaszok

SignedIdentifiers szótára

Visszatérési típus

Kivételek

list_entities

Egy tábla entitásainak listázása.

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

Paraméterek

results_per_page
int

Szolgáltatáskérésenként visszaadott entitások száma.

select
str vagy list[str]

Adja meg a visszaadandó entitás kívánt tulajdonságait.

Válaszok

Egy iterátor a TableEntity

Visszatérési típus

Kivételek

Példák

A táblában tárolt összes entitás listázása


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

query_entities

Egy tábla entitásainak listázása.

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

Paraméterek

query_filter
str
Kötelező

Adjon meg egy szűrőt bizonyos entitások visszaadásához. A szűrőformázással kapcsolatos további információkért tekintse meg a minták dokumentációját.

results_per_page
int

Szolgáltatáskérésenként visszaadott entitások száma.

select
str vagy list[str]

Adja meg a visszaadandó entitás kívánt tulajdonságait.

parameters
dict[str, Any]

Szótár a további, felhasználó által definiált paraméterekkel rendelkező lekérdezés formázásához

Válaszok

Egy iterátor a TableEntity

Visszatérési típus

Kivételek

Példák

Táblában tárolt entitások lekérdezése


   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

Beállítja a megosztott hozzáférésű jogosultságkódokkal használható táblához tartozó tárolt hozzáférési szabályzatokat.

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

Paraméterek

signed_identifiers
dict[str, TableAccessPolicy] vagy dict[str, None]
Kötelező

A táblához beállított hozzáférési szabályzatok

Válaszok

None

Kivételek

submit_transaction

A műveletek listájának véglegesítése egyetlen tranzakcióként.

Ha bármelyik művelet meghiúsul, a rendszer a teljes tranzakciót elutasítja.

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

Paraméterek

operations
Iterable[Tuple[str, TableEntity, Mapping[str, Any]]]
Kötelező

A tranzakcióban véglegesíteni kívánt műveletek listája. Ennek a művelet nevét, az entitást tartalmazó rekordok iterálásának kell lennie, és opcionálisan az adott művelethez tartozó további kwargok diktálásának. Például:


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

Válaszok

A leképezések listája a tranzakció egyes műveleteinek válasz metaadataival.

Visszatérési típus

Kivételek

Példák

Tranzakciók használata több kérelem egyszerre történő elküldéséhez


   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

Egy tábla entitásának frissítése.

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

Paraméterek

entity
TableEntity vagy dict[str, Any]
Kötelező

A táblaentitás tulajdonságai.

mode
UpdateMode
Kötelező

Entitás egyesítése vagy cseréje

etag
str

Az entitás etagje

match_condition
MatchConditions

A művelet végrehajtásának feltétele. Támogatott értékek: MatchConditions.IfNotModified, MatchConditions.Feltétel nélkül. Az alapértelmezett érték feltétel nélkül.

Válaszok

A szolgáltatásból visszaadott szótárleképezési művelet metaadatai

Visszatérési típus

Kivételek

Példák

Tábla már kilépő entitásának frissítése


   # 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

Entitás frissítése/egyesítése vagy beszúrása a táblába.

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

Paraméterek

entity
TableEntity vagy dict[str, Any]
Kötelező

A táblaentitás tulajdonságai.

mode
UpdateMode
Kötelező

Entitás egyesítése vagy cseréje

Válaszok

A szolgáltatásból visszaadott szótárleképezési művelet metaadatai

Visszatérési típus

Kivételek

Példák

Entitás frissítése/egyesítése vagy beszúrása egy táblába


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

Attribútumok

api_version

A kérésekhez használt Storage API verziója.

Válaszok

A Storage API verziója.

url

Az entitás teljes végponti URL-címe, beleértve az SAS-jogkivonatot is, ha használják.

Ez lehet az elsődleges végpont vagy a másodlagos végpont az aktuálistól <xref:azure.data.tables.location_mode>függően.

Válaszok

A teljes végpont URL-címe, beleértve az SAS-jogkivonatot is, ha használják.

Visszatérési típus

str