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.TablesBaseClientTableClient
Constructor
TableClient(endpoint: str, table_name: str, *, credential: AzureNamedKeyCredential | AzureSasCredential | TokenCredential | None = None, **kwargs)
Parameters
- 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
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
- 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
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
Retouren
Een tabelclient.
Retourtype
get_entity
Eén entiteit in een tabel ophalen.
get_entity(partition_key: str, row_key: str, **kwargs) -> TableEntity
Parameters
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.
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
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.
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
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
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
- 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
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
Azure SDK for Python