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.TablesBaseClient
TableClient

Oluşturucu

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

Parametreler

endpoint
str
Gerekli

Azure Tabloları hesabının URL'si.

table_name
str
Gerekli

Tablo adı.

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

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

Tablo varlığının özellikleri.

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

partition_key
str
Gerekli

Varlığın bölüm anahtarı.

row_key
str
Gerekli

Varlığın satır anahtarı.

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

Silinecek varlık

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

conn_str
str
Gerekli

Azure Tabloları hesabına yönelik bağlantı dizesi.

table_name
str
Gerekli

Tablo adı.

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
Gerekli

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

partition_key
str
Gerekli

Varlığın bölüm anahtarı.

row_key
str
Gerekli

Varlığın satır anahtarı.

select
str veya list[str]

Döndürülecek varlığın istenen özelliklerini belirtin.

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ı.

select
str veya list[str]

Döndürülecek varlığın istenen özelliklerini belirtin.

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
Gerekli

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ı.

select
str veya list[str]

Döndürülecek varlığın istenen özelliklerini belirtin.

parameters
dict[str, Any]

Sorguyu ek, kullanıcı tanımlı parametrelerle biçimlendirmek için sözlük

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

signed_identifiers
dict[str, TableAccessPolicy] veya dict[str, None]
Gerekli

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

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

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

entity
TableEntity veya dict[str, Any]
Gerekli

Tablo varlığının özellikleri.

mode
UpdateMode
Gerekli

Varlığı birleştirme veya değiştirme

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

entity
TableEntity veya dict[str, Any]
Gerekli

Tablo varlığının özellikleri.

mode
UpdateMode
Gerekli

Varlığı birleştirme veya değiştirme

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ü

str