TableClient Sınıf
Azure Tabloları hesabındaki belirli bir Tabloyla etkileşime geçmek için bir istemci.
Bir Kimlik Bilgisi'nden TableClient oluşturun.
- Devralma
-
azure.data.tables._base_client.TablesBaseClientTableClient
Oluşturucu
TableClient(endpoint: str, table_name: str, *, credential: AzureNamedKeyCredential | AzureSasCredential | TokenCredential | None = None, **kwargs)
Parametreler
- credential
- AzureNamedKeyCredential veya AzureSasCredential veya TokenCredential veya None
Kimlik doğrulaması için kullanılan kimlik bilgileri. Hesap URL'sinde zaten bir SAS belirteci varsa bu isteğe bağlıdır. Değer AzureNamedKeyCredential (azure-core), AzureSasCredential (azure-core) veya azure-identity'den tokenCredential uygulamasından biri olabilir.
- api_version
- str
Bu istek için kullanılacak işlemin sürümünü belirtir. Varsayılan değer: "2019-02-02".
Değişkenler
- account_name
- str
Tablolar hesabının adı.
- table_name
- str
Tablonun adı.
- scheme
- str
Tablolar hesabının tam URL'sindeki düzen bileşeni.
- url
- str
Depolama uç noktası.
- api_version
- str
Hizmet API'sinin sürümü.
Yöntemler
close |
Bu yöntem, istemci tarafından açılan yuvaları kapatmaktır. Bağlam yöneticisi ile kullanılırken kullanılması gerekmez. |
create_entity |
Tabloya varlık ekleme. |
create_table |
Geçerli hesabın altında yeni bir tablo oluşturur. |
delete_entity |
Tabloda belirtilen varlığı siler. Varlık veya PartitionKey-RowKey eşleştirmesi bulunamazsa hata oluşmaz. |
delete_table |
Geçerli hesabın altındaki tabloyu siler. Tablo yoksa hata oluşmaz |
from_connection_string |
Bağlantı Dizesinden TableClient oluşturun. |
from_table_url |
Belirli bir Tablo ile etkileşime geçmek için bir istemci. AzureSasCredential (azure-core) veya azure-identity'den tokenCredential uygulaması. :p aramtype kimlik bilgileri: ~azure.core.credentials.AzureNamedKeyCredential veya ~azure.core.credentials.AzureSasCredential veya None |
get_entity |
Tabloda tek bir varlık alma. |
get_table_access_policy |
Tabloda belirtilen ve Paylaşılan Erişim İmzaları ile kullanılabilecek tüm saklı erişim ilkeleriyle ilgili ayrıntıları alır. |
list_entities |
Tablodaki varlıkları listeler. |
query_entities |
Tablodaki varlıkları listeler. |
set_table_access_policy |
Paylaşılan Erişim İmzaları ile kullanılabilecek tablo için depolanan erişim ilkelerini ayarlar. |
submit_transaction |
İşlem listesini tek bir işlem olarak işleme. Bu işlemlerden herhangi biri başarısız olursa tüm işlem reddedilir. |
update_entity |
Tablodaki varlığı güncelleştirme. |
upsert_entity |
Tabloya varlık güncelleştirme/birleştirme veya ekleme. |
close
Bu yöntem, istemci tarafından açılan yuvaları kapatmaktır. Bağlam yöneticisi ile kullanılırken kullanılması gerekmez.
close() -> None
create_entity
Tabloya varlık ekleme.
create_entity(entity: TableEntity | Mapping[str, Any], **kwargs) -> Dict[str, Any]
Parametreler
Döndürülenler
Hizmetten döndürülen sözlük eşleme işlemi meta verileri
Dönüş türü
Özel durumlar
Örnekler
Tabloya varlık oluşturma ve ekleme
try:
resp = table_client.create_entity(entity=self.entity)
print(resp)
except ResourceExistsError:
print("Entity already exists")
create_table
Geçerli hesabın altında yeni bir tablo oluşturur.
create_table(**kwargs) -> TableItem
Döndürülenler
Oluşturulan tabloyu temsil eden bir TableItem.
Dönüş türü
Özel durumlar
Varlık zaten varsa
Örnekler
TableClient nesnesinden tablo oluşturma
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
Tabloda belirtilen varlığı siler. Varlık veya PartitionKey-RowKey eşleştirmesi bulunamazsa hata oluşmaz.
delete_entity(partition_key: str, row_key: str, **kwargs) -> None
Parametreler
- etag
- str
Varlığın etag'i
- match_condition
- MatchConditions
İşlemin gerçekleştirildiği koşul. Desteklenen değerler şunlardır: MatchConditions.IfNotModified, MatchConditions.Unconditionally. Varsayılan değer koşulsuz olarakdır.
Döndürülenler
Hiçbiri
Özel durumlar
Örnekler
Tablonun varlığını silme
table_client.delete_entity(row_key=self.entity["RowKey"], partition_key=self.entity["PartitionKey"])
print("Successfully deleted!")
delete_table
Geçerli hesabın altındaki tabloyu siler. Tablo yoksa hata oluşmaz
delete_table(**kwargs) -> None
Döndürülenler
Hiçbiri
Özel durumlar
Örnekler
TableClient nesnesinden tablo silme
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
Bağlantı Dizesinden TableClient oluşturun.
from_connection_string(conn_str: str, table_name: str, **kwargs) -> TableClient
Parametreler
Döndürülenler
Tablo istemcisi.
Dönüş türü
Örnekler
bir connection_string TableServiceClient kimliğini doğrulama
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
Belirli bir Tablo ile etkileşime geçmek için bir istemci.
AzureSasCredential (azure-core) veya azure-identity'den tokenCredential uygulaması. :p aramtype kimlik bilgileri:
~azure.core.credentials.AzureNamedKeyCredential veya ~azure.core.credentials.AzureSasCredential veya None
from_table_url(table_url: str, *, credential: AzureNamedKeyCredential | AzureSasCredential | None = None, **kwargs) -> TableClient
Parametreler
- table_url
Döndürülenler
Tablo istemcisi.
Dönüş türü
get_entity
Tabloda tek bir varlık alma.
get_entity(partition_key: str, row_key: str, **kwargs) -> TableEntity
Parametreler
Döndürülenler
Hizmetten döndürülen sözlük eşleme işlemi meta verileri
Dönüş türü
Özel durumlar
Örnekler
Tablodan tek bir varlık alma
# 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
Tabloda belirtilen ve Paylaşılan Erişim İmzaları ile kullanılabilecek tüm saklı erişim ilkeleriyle ilgili ayrıntıları alır.
get_table_access_policy(**kwargs) -> Dict[str, TableAccessPolicy | None]
Döndürülenler
SignedIdentifiers Sözlüğü
Dönüş türü
Özel durumlar
list_entities
Tablodaki varlıkları listeler.
list_entities(**kwargs) -> ItemPaged[TableEntity]
Parametreler
- results_per_page
- int
Hizmet isteği başına döndürülen varlık sayısı.
Döndürülenler
Yineleyici TableEntity
Dönüş türü
Özel durumlar
Örnekler
Tablo içinde tutulan tüm varlıkları listeleme
# Query the entities in the table
entities = list(table.list_entities())
for i, entity in enumerate(entities):
print("Entity #{}: {}".format(entity, i))
query_entities
Tablodaki varlıkları listeler.
query_entities(query_filter: str, **kwargs) -> ItemPaged[TableEntity]
Parametreler
- query_filter
- str
Belirli varlıkları döndürmek için bir filtre belirtin. Filtre biçimlendirmesi hakkında daha fazla bilgi için örnek belgelerine bakın.
- results_per_page
- int
Hizmet isteği başına döndürülen varlık sayısı.
Döndürülenler
Yineleyici TableEntity
Dönüş türü
Özel durumlar
Örnekler
Tablo içinde tutulan sorgu varlıkları
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
Paylaşılan Erişim İmzaları ile kullanılabilecek tablo için depolanan erişim ilkelerini ayarlar.
set_table_access_policy(signed_identifiers: Dict[str, TableAccessPolicy | None], **kwargs) -> None
Parametreler
Tablo için ayarlanacağı erişim ilkeleri
Döndürülenler
Hiçbiri
Özel durumlar
submit_transaction
İşlem listesini tek bir işlem olarak işleme.
Bu işlemlerden herhangi biri başarısız olursa tüm işlem reddedilir.
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]]
Parametreler
Bir işlemde işleyecek işlemlerin listesi. Bu işlem adı, üzerinde çalışılacak varlık ve isteğe bağlı olarak bu işlem için ek kwargs diktesi içeren bir demetler yinelenebilir olmalıdır. Örnek:
- ('upsert', {'PartitionKey': 'A', 'RowKey': 'B'})
- ('upsert', {'PartitionKey': 'A', 'RowKey': 'B'}, {'mode': UpdateMode.REPLACE})
Döndürülenler
İşlemdeki her işlem için yanıt meta verilerini içeren eşlemelerin listesi.
Dönüş türü
Özel durumlar
Örnekler
Aynı anda birden çok istek göndermek için işlemleri kullanma
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
Tablodaki varlığı güncelleştirme.
update_entity(entity: TableEntity | Mapping[str, Any], mode: UpdateMode = UpdateMode.MERGE, **kwargs) -> Dict[str, Any]
Parametreler
- etag
- str
Varlığın etag'i
- match_condition
- MatchConditions
İşlemin gerçekleştirildiği koşul. Desteklenen değerler şunlardır: MatchConditions.IfNotModified, MatchConditions.Unconditionally. Varsayılan değer koşulsuz olarakdır.
Döndürülenler
Hizmetten döndürülen sözlük eşleme işlemi meta verileri
Dönüş türü
Özel durumlar
Örnekler
Tablodaki zaten çıkışta olan bir varlığı güncelleştirme
# 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
Tabloya varlık güncelleştirme/birleştirme veya ekleme.
upsert_entity(entity: TableEntity | Mapping[str, Any], mode: UpdateMode = UpdateMode.MERGE, **kwargs) -> Dict[str, Any]
Parametreler
Döndürülenler
Hizmetten döndürülen sözlük eşleme işlemi meta verileri
Dönüş türü
Özel durumlar
Örnekler
Tabloya varlık güncelleştirme/birleştirme veya ekleme
# 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))
Öznitelikler
api_version
İstekler için kullanılan Depolama API'sinin sürümü.
Döndürülenler
Depolama API'sinin sürümü.
url
Kullanılırsa SAS belirteci de dahil olmak üzere bu varlığın tam uç nokta URL'si.
Bu birincil uç nokta veya geçerli <xref:azure.data.tables.location_mode>öğesine bağlı olarak ikincil uç nokta olabilir.
Döndürülenler
Kullanıldıysa SAS belirteci de dahil olmak üzere tam uç nokta URL'si.
Dönüş türü
Azure SDK for Python
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin