Bagikan melalui


TableClient Kelas

Klien untuk berinteraksi dengan Tabel tertentu di akun Azure Tables.

Buat TableClient dari Kredensial.

Warisan
azure.data.tables._base_client.TablesBaseClient
TableClient

Konstruktor

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

Parameter

endpoint
str
Diperlukan

URL ke akun Azure Tables.

table_name
str
Diperlukan

Nama tabel.

credential
AzureNamedKeyCredential atau AzureSasCredential atau TokenCredential atau None

Kredensial yang digunakan untuk mengautentikasi. Ini opsional jika URL akun sudah memiliki token SAS. Nilainya dapat berupa salah satu AzureNamedKeyCredential (azure-core), AzureSasCredential (azure-core), atau implementasi TokenCredential dari azure-identity.

api_version
str

Menentukan versi operasi yang akan digunakan untuk permintaan ini. Nilai defaultnya adalah "2019-02-02".

Variabel

account_name
str

Nama akun Tabel.

table_name
str

Nama tabel.

scheme
str

Komponen skema dalam URL lengkap ke akun Tabel.

url
str

Titik akhir penyimpanan.

api_version
str

Versi API layanan.

Metode

close

Metode ini untuk menutup soket yang dibuka oleh klien. Ini tidak perlu digunakan saat menggunakan dengan manajer konteks.

create_entity

Sisipkan entitas dalam tabel.

create_table

Membuat tabel baru di bawah akun saat ini.

delete_entity

Menghapus entitas yang ditentukan dalam tabel. Tidak ada kesalahan yang akan dimunculkan jika entitas atau pemasangan PartitionKey-RowKey tidak ditemukan.

delete_table

Menghapus tabel di bawah akun saat ini. Tidak ada kesalahan yang akan dimunculkan jika tabel tidak ada

from_connection_string

Membuat TableClient dari String Koneksi.

from_table_url

Klien untuk berinteraksi dengan Tabel tertentu.

AzureSasCredential (azure-core), atau implementasi TokenCredential dari azure-identity. kredensial :p aramtype:

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

get_entity

Dapatkan satu entitas dalam tabel.

get_table_access_policy

Mengambil detail tentang kebijakan akses tersimpan yang ditentukan pada tabel yang dapat digunakan dengan Tanda Tangan Akses Bersama.

list_entities

Mencantumkan entitas dalam tabel.

query_entities

Mencantumkan entitas dalam tabel.

set_table_access_policy

Mengatur kebijakan akses tersimpan untuk tabel yang dapat digunakan dengan Tanda Tangan Akses Bersama.

submit_transaction

Terapkan daftar operasi sebagai satu transaksi.

Jika salah satu operasi ini gagal, seluruh transaksi akan ditolak.

update_entity

Memperbarui entitas dalam tabel.

upsert_entity

Perbarui/Gabungkan atau Sisipkan entitas ke dalam tabel.

close

Metode ini untuk menutup soket yang dibuka oleh klien. Ini tidak perlu digunakan saat menggunakan dengan manajer konteks.

close() -> None

create_entity

Sisipkan entitas dalam tabel.

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

Parameter

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

Properti untuk entitas tabel.

Mengembalikan

Metadata operasi pemetaan kamus yang dikembalikan dari layanan

Tipe hasil

Pengecualian

Contoh

Membuat dan menambahkan entitas ke Tabel


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

create_table

Membuat tabel baru di bawah akun saat ini.

create_table(**kwargs) -> TableItem

Mengembalikan

TableItem yang mewakili tabel yang dibuat.

Tipe hasil

Pengecualian

Jika entitas sudah ada

Contoh

Membuat tabel dari objek TableClient


   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

Menghapus entitas yang ditentukan dalam tabel. Tidak ada kesalahan yang akan dimunculkan jika entitas atau pemasangan PartitionKey-RowKey tidak ditemukan.

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

Parameter

partition_key
str
Diperlukan

Kunci partisi entitas.

row_key
str
Diperlukan

Kunci baris entitas.

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

Entitas yang akan dihapus

etag
str

Etag entitas

match_condition
MatchConditions

Kondisi untuk melakukan operasi. Nilai yang didukung meliputi: MatchConditions.IfNotModified, MatchConditions.Unconditions. Nilai defaultnya adalah Tanpa Syarat.

Mengembalikan

Tidak ada

Pengecualian

Contoh

Menghapus entitas Tabel


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

delete_table

Menghapus tabel di bawah akun saat ini. Tidak ada kesalahan yang akan dimunculkan jika tabel tidak ada

delete_table(**kwargs) -> None

Mengembalikan

Tidak ada

Pengecualian

Contoh

Menghapus tabel dari objek TableClient


   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

Membuat TableClient dari String Koneksi.

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

Parameter

conn_str
str
Diperlukan

String koneksi ke akun Azure Tables.

table_name
str
Diperlukan

Nama tabel.

Mengembalikan

Klien tabel.

Tipe hasil

Contoh

Mengautentikasi TableServiceClient dari 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

Klien untuk berinteraksi dengan Tabel tertentu.

AzureSasCredential (azure-core), atau implementasi TokenCredential dari azure-identity. kredensial :p aramtype:

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

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

Parameter

table_url
Diperlukan

Mengembalikan

Klien tabel.

Tipe hasil

get_entity

Dapatkan satu entitas dalam tabel.

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

Parameter

partition_key
str
Diperlukan

Kunci partisi entitas.

row_key
str
Diperlukan

Kunci baris entitas.

select
str atau list[str]

Tentukan properti entitas yang diinginkan untuk dikembalikan.

Mengembalikan

Metadata operasi pemetaan kamus yang dikembalikan dari layanan

Tipe hasil

Pengecualian

Contoh

Mendapatkan satu entitas dari 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

Mengambil detail tentang kebijakan akses tersimpan yang ditentukan pada tabel yang dapat digunakan dengan Tanda Tangan Akses Bersama.

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

Mengembalikan

Kamus SignedIdentifiers

Tipe hasil

Pengecualian

list_entities

Mencantumkan entitas dalam tabel.

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

Parameter

results_per_page
int

Jumlah entitas yang dikembalikan per permintaan layanan.

select
str atau list[str]

Tentukan properti entitas yang diinginkan untuk dikembalikan.

Mengembalikan

Iterator dari TableEntity

Tipe hasil

Pengecualian

Contoh

Mencantumkan semua entitas yang disimpan dalam tabel


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

query_entities

Mencantumkan entitas dalam tabel.

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

Parameter

query_filter
str
Diperlukan

Tentukan filter untuk mengembalikan entitas tertentu. Untuk informasi selengkapnya tentang pemformatan filter, lihat dokumentasi sampel.

results_per_page
int

Jumlah entitas yang dikembalikan per permintaan layanan.

select
str atau list[str]

Tentukan properti entitas yang diinginkan untuk dikembalikan.

parameters
dict[str, Any]

Kamus untuk memformat kueri dengan parameter tambahan yang ditentukan pengguna

Mengembalikan

Iterator dari TableEntity

Tipe hasil

Pengecualian

Contoh

Entitas kueri disimpan dalam tabel


   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

Mengatur kebijakan akses tersimpan untuk tabel yang dapat digunakan dengan Tanda Tangan Akses Bersama.

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

Parameter

signed_identifiers
dict[str, TableAccessPolicy] atau dict[str, None]
Diperlukan

Kebijakan akses yang akan diatur untuk tabel

Mengembalikan

Tidak ada

Pengecualian

submit_transaction

Terapkan daftar operasi sebagai satu transaksi.

Jika salah satu operasi ini gagal, seluruh transaksi akan ditolak.

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

Parameter

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

Daftar operasi yang akan diterapkan dalam transaksi. Ini harus menjadi tuple yang dapat diulang yang berisi nama operasi, entitas yang akan dioperasikan, dan secara opsional, dict kwargs tambahan untuk operasi tersebut. Contohnya:


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

Mengembalikan

Daftar pemetaan dengan metadata respons untuk setiap operasi dalam transaksi.

Tipe hasil

Pengecualian

Contoh

Menggunakan transaksi untuk mengirim beberapa permintaan sekaligus


   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

Memperbarui entitas dalam tabel.

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

Parameter

entity
TableEntity atau dict[str, Any]
Diperlukan

Properti untuk entitas tabel.

mode
UpdateMode
Diperlukan

Menggabungkan atau Mengganti entitas

etag
str

Etag entitas

match_condition
MatchConditions

Kondisi untuk melakukan operasi. Nilai yang didukung meliputi: MatchConditions.IfNotModified, MatchConditions.Unconditions. Nilai defaultnya adalah Tanpa Syarat.

Mengembalikan

Metadata operasi pemetaan kamus yang dikembalikan dari layanan

Tipe hasil

Pengecualian

Contoh

Memperbarui entitas yang sudah keluar dalam Tabel


   # 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

Perbarui/Gabungkan atau Sisipkan entitas ke dalam tabel.

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

Parameter

entity
TableEntity atau dict[str, Any]
Diperlukan

Properti untuk entitas tabel.

mode
UpdateMode
Diperlukan

Menggabungkan atau Mengganti entitas

Mengembalikan

Metadata operasi pemetaan kamus yang dikembalikan dari layanan

Tipe hasil

Pengecualian

Contoh

Memperbarui/menggabungkan atau menyisipkan entitas ke dalam 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))

Atribut

api_version

Versi Api Penyimpanan yang digunakan untuk permintaan.

Mengembalikan

Versi Storage API.

url

URL titik akhir lengkap untuk entitas ini, termasuk token SAS jika digunakan.

Ini bisa berupa titik akhir utama, atau titik akhir sekunder tergantung pada saat ini <xref:azure.data.tables.location_mode>.

Mengembalikan

URL titik akhir lengkap termasuk token SAS jika digunakan.

Tipe hasil

str