Delen via


TableClient Klas

Een client om te communiceren met een specifieke tabel in een Azure Tables-account.

Maak TableClient op basis van een referentie.

Overname
azure.data.tables._base_client.TablesBaseClient
TableClient

Constructor

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

Parameters

endpoint
str
Vereist

Een URL naar een Azure Tables-account.

table_name
str
Vereist

De tabelnaam.

credential
AzureNamedKeyCredential of AzureSasCredential of TokenCredential of None

De referenties waarmee moet worden geverifieerd. Dit is optioneel als de account-URL al een SAS-token heeft. De waarde kan een van AzureNamedKeyCredential (azure-core), AzureSasCredential (azure-core) of een TokenCredential-implementatie van azure-identity zijn.

api_version
str

Hiermee geeft u de versie van de bewerking te gebruiken voor deze aanvraag. De standaardwaarde is '2019-02-02'.

Variabelen

account_name
str

De naam van het tabellenaccount.

table_name
str

De naam van de tabel.

scheme
str

Het schemaonderdeel in de volledige URL naar het account Tabellen.

url
str

Het opslageindpunt.

api_version
str

De service-API-versie.

Methoden

close

Deze methode is om de sockets te sluiten die door de client zijn geopend. Deze hoeft niet te worden gebruikt bij gebruik met contextbeheer.

create_entity

Entiteit invoegen in een tabel.

create_table

Hiermee maakt u een nieuwe tabel onder het huidige account.

delete_entity

Hiermee verwijdert u de opgegeven entiteit in een tabel. Er wordt geen fout gegenereerd als de entiteit of PartitionKey-RowKey koppeling niet wordt gevonden.

delete_table

Hiermee verwijdert u de tabel onder het huidige account. Er wordt geen fout gegenereerd als de tabel niet bestaat

from_connection_string

TableClient maken op basis van een verbindingsreeks.

from_table_url

Een client voor interactie met een specifieke tabel.

AzureSasCredential (azure-core) of een TokenCredential-implementatie van azure-identity. :p aramtypereferentie:

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

get_entity

Eén entiteit in een tabel ophalen.

get_table_access_policy

Hiermee haalt u details op over opgeslagen toegangsbeleidsregels die in de tabel zijn opgegeven en die kunnen worden gebruikt met Shared Access Signatures.

list_entities

Hiermee worden entiteiten in een tabel weergegeven.

query_entities

Hiermee worden entiteiten in een tabel weergegeven.

set_table_access_policy

Hiermee stelt u opgeslagen toegangsbeleidsregels in voor de tabel die kan worden gebruikt met Shared Access Signatures.

submit_transaction

Voer een lijst met bewerkingen door als één transactie.

Als een van deze bewerkingen mislukt, wordt de hele transactie geweigerd.

update_entity

Entiteit in een tabel bijwerken.

upsert_entity

De entiteit bijwerken/samenvoegen of invoegen in tabel.

close

Deze methode is om de sockets te sluiten die door de client zijn geopend. Deze hoeft niet te worden gebruikt bij gebruik met contextbeheer.

close() -> None

create_entity

Entiteit invoegen in een tabel.

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

Parameters

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

De eigenschappen voor de tabelentiteit.

Retouren

Metagegevens van de toewijzingsbewerking van woordenlijst die worden geretourneerd door de service

Retourtype

Uitzonderingen

Voorbeelden

Een entiteit maken en toevoegen aan een tabel


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

create_table

Hiermee maakt u een nieuwe tabel onder het huidige account.

create_table(**kwargs) -> TableItem

Retouren

Een TableItem die de gemaakte tabel vertegenwoordigt.

Retourtype

Uitzonderingen

Als de entiteit al bestaat

Voorbeelden

Een tabel maken van het TableClient-object


   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

Hiermee verwijdert u de opgegeven entiteit in een tabel. Er wordt geen fout gegenereerd als de entiteit of PartitionKey-RowKey koppeling niet wordt gevonden.

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

Parameters

partition_key
str
Vereist

De partitiesleutel van de entiteit.

row_key
str
Vereist

De rijsleutel van de entiteit.

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

De entiteit die moet worden verwijderd

etag
str

Etag van de entiteit

match_condition
MatchConditions

De voorwaarde waaronder de bewerking moet worden uitgevoerd. Ondersteunde waarden zijn onder andere: MatchConditions.IfNotModified, MatchConditions.Unconditionally. De standaardwaarde is Onvoorwaardelijk.

Retouren

Geen

Uitzonderingen

Voorbeelden

Een entiteit van een tabel verwijderen


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

delete_table

Hiermee verwijdert u de tabel onder het huidige account. Er wordt geen fout gegenereerd als de tabel niet bestaat

delete_table(**kwargs) -> None

Retouren

Geen

Uitzonderingen

Voorbeelden

Een tabel verwijderen uit het TableClient-object


   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 maken op basis van een verbindingsreeks.

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

Parameters

conn_str
str
Vereist

Een connection string naar een Azure Tables-account.

table_name
str
Vereist

De tabelnaam.

Retouren

Een tabelclient.

Retourtype

Voorbeelden

Een TableServiceClient verifiëren vanuit een 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

Een client voor interactie met een specifieke tabel.

AzureSasCredential (azure-core) of een TokenCredential-implementatie van azure-identity. :p aramtypereferentie:

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

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

Parameters

table_url
Vereist

Retouren

Een tabelclient.

Retourtype

get_entity

Eén entiteit in een tabel ophalen.

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

Parameters

partition_key
str
Vereist

De partitiesleutel van de entiteit.

row_key
str
Vereist

De rijsleutel van de entiteit.

select
str of list[str]

Geef de gewenste eigenschappen op van een entiteit die u wilt retourneren.

Retouren

Metagegevens van de toewijzingsbewerking van woordenlijst die worden geretourneerd door de service

Retourtype

Uitzonderingen

Voorbeelden

Eén entiteit ophalen uit een tabel


   # 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

Hiermee haalt u details op over opgeslagen toegangsbeleidsregels die in de tabel zijn opgegeven en die kunnen worden gebruikt met Shared Access Signatures.

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

Retouren

Woordenlijst van SignedIdentifiers

Retourtype

Uitzonderingen

list_entities

Hiermee worden entiteiten in een tabel weergegeven.

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

Parameters

results_per_page
int

Het aantal entiteiten dat per serviceaanvraag wordt geretourneerd.

select
str of list[str]

Geef de gewenste eigenschappen op van een entiteit die u wilt retourneren.

Retouren

Een iterator van TableEntity

Retourtype

Uitzonderingen

Voorbeelden

Alle entiteiten in een tabel weergeven


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

query_entities

Hiermee worden entiteiten in een tabel weergegeven.

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

Parameters

query_filter
str
Vereist

Geef een filter op om bepaalde entiteiten te retourneren. Zie de documentatie voor voorbeelden voor meer informatie over filteropmaak.

results_per_page
int

Het aantal entiteiten dat per serviceaanvraag wordt geretourneerd.

select
str of list[str]

Geef de gewenste eigenschappen op van een entiteit die u wilt retourneren.

parameters
dict[str, Any]

Woordenlijst voor opmaakquery met aanvullende, door de gebruiker gedefinieerde parameters

Retouren

Een iterator van TableEntity

Retourtype

Uitzonderingen

Voorbeelden

Query's uitvoeren op entiteiten die in een tabel zijn opgeslagen


   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

Hiermee stelt u opgeslagen toegangsbeleidsregels in voor de tabel die kan worden gebruikt met Shared Access Signatures.

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

Parameters

signed_identifiers
dict[str, TableAccessPolicy] of dict[str, None]
Vereist

Toegangsbeleid dat moet worden ingesteld voor de tabel

Retouren

Geen

Uitzonderingen

submit_transaction

Voer een lijst met bewerkingen door als één transactie.

Als een van deze bewerkingen mislukt, wordt de hele transactie geweigerd.

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

Parameters

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

De lijst met bewerkingen die moeten worden doorgevoerd in een transactie. Dit moet een iterable zijn van tuples met een bewerkingsnaam, de entiteit waarop moet worden uitgevoerd en eventueel een dict van extra kwargs voor die bewerking. Bijvoorbeeld:


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

Retouren

Een lijst met toewijzingen met antwoordmetagegevens voor elke bewerking in de transactie.

Retourtype

Uitzonderingen

Voorbeelden

Transacties gebruiken om meerdere aanvragen tegelijk te verzenden


   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

Entiteit in een tabel bijwerken.

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

Parameters

entity
TableEntity of dict[str, Any]
Vereist

De eigenschappen voor de tabelentiteit.

mode
UpdateMode
Vereist

Entiteit samenvoegen of vervangen

etag
str

Etag van de entiteit

match_condition
MatchConditions

De voorwaarde waaronder de bewerking moet worden uitgevoerd. Ondersteunde waarden zijn onder andere: MatchConditions.IfNotModified, MatchConditions.Unconditionally. De standaardwaarde is Onvoorwaardelijk.

Retouren

Metagegevens van de toewijzingsbewerking van woordenlijst die worden geretourneerd door de service

Retourtype

Uitzonderingen

Voorbeelden

Een entiteit die al wordt afgesloten in een tabel bijwerken


   # 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

De entiteit bijwerken/samenvoegen of invoegen in tabel.

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

Parameters

entity
TableEntity of dict[str, Any]
Vereist

De eigenschappen voor de tabelentiteit.

mode
UpdateMode
Vereist

Entiteit samenvoegen of vervangen

Retouren

Metagegevens van de toewijzingsbewerking van woordenlijst die worden geretourneerd door de service

Retourtype

Uitzonderingen

Voorbeelden

Een entiteit bijwerken/samenvoegen of invoegen in een tabel


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

Kenmerken

api_version

De versie van de Storage-API die wordt gebruikt voor aanvragen.

Retouren

De storage-API-versie.

url

De volledige eindpunt-URL naar deze entiteit, inclusief SAS-token indien gebruikt.

Dit kan het primaire eindpunt of het secundaire eindpunt zijn, afhankelijk van de huidige <xref:azure.data.tables.location_mode>.

Retouren

De volledige eindpunt-URL, inclusief sas-token, indien gebruikt.

Retourtype

str