TableClient Kelas
Klien untuk berinteraksi dengan Tabel tertentu di akun Azure Tables.
Buat TableClient dari Kredensial.
- Warisan
-
azure.data.tables._base_client.TablesBaseClientTableClient
Konstruktor
TableClient(endpoint: str, table_name: str, *, credential: AzureNamedKeyCredential | AzureSasCredential | TokenCredential | None = None, **kwargs)
Parameter
- 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
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
- 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
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
Mengembalikan
Klien tabel.
Tipe hasil
get_entity
Dapatkan satu entitas dalam tabel.
get_entity(partition_key: str, row_key: str, **kwargs) -> TableEntity
Parameter
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.
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
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.
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
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
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
- 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
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
Azure SDK for Python