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.TablesBaseClientTableClient
Konstruktor
TableClient(endpoint: str, table_name: str, *, credential: AzureNamedKeyCredential | AzureSasCredential | TokenCredential | None = None, **kwargs)
Paraméterek
- 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
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
- 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
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
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
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.
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
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.
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
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
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
- 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
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
Azure SDK for Python