TableClient الفصل

عميل للتفاعل مع جدول معين في حساب Azure Tables.

إنشاء TableClient من بيانات اعتماد.

توريث
azure.data.tables._base_client.TablesBaseClient
TableClient

الدالمنشئ

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

المعلمات

endpoint
str
مطلوب

عنوان URL لحساب Azure Tables.

table_name
str
مطلوب

اسم الجدول.

credential
AzureNamedKeyCredential أو AzureSasCredential أو TokenCredential أو None

بيانات الاعتماد التي يجب المصادقة بها. هذا اختياري إذا كان عنوان URL للحساب يحتوي بالفعل على رمز SAS المميز. يمكن أن تكون القيمة واحدة من AzureNamedKeyCredential (azure-core) أو AzureSasCredential (azure-core) أو تنفيذ TokenCredential من azure-identity.

api_version
str

يحدد إصدار العملية المراد استخدامها لهذا الطلب. القيمة الافتراضية هي "2019-02-02".

المتغيرات

account_name
str

اسم حساب الجداول.

table_name
str

اسم الجدول.

scheme
str

مكون النظام في عنوان URL الكامل لحساب الجداول.

url
str

نقطة نهاية التخزين.

api_version
str

إصدار واجهة برمجة تطبيقات الخدمة.

الأساليب

close

هذا الأسلوب هو إغلاق مآخذ التوصيل التي فتحها العميل. لا يلزم استخدامه عند استخدام مع مدير سياق.

create_entity

إدراج كيان في جدول.

create_table

إنشاء جدول جديد ضمن الحساب الحالي.

delete_entity

حذف الكيان المحدد في جدول. لن يتم رفع أي خطأ إذا لم يتم العثور على الكيان أو PartitionKey-RowKey الاقتران.

delete_table

حذف الجدول ضمن الحساب الحالي. لن يتم رفع أي خطأ إذا لم يكن الجدول موجودا

from_connection_string

إنشاء TableClient من سلسلة اتصال.

from_table_url

عميل للتفاعل مع جدول معين.

AzureSasCredential (azure-core)، أو تطبيق TokenCredential من azure-identity. بيانات اعتماد :p aramtype:

~azure.core.credentials.AzureNamedKeyCredential أو ~azure.core.credentials.AzureSasCredential أو None

get_entity

احصل على كيان واحد في جدول.

get_table_access_policy

استرداد تفاصيل حول أي نهج وصول مخزنة محددة في الجدول والتي يمكن استخدامها مع توقيعات الوصول المشترك.

list_entities

يسرد الكيانات في جدول.

query_entities

يسرد الكيانات في جدول.

set_table_access_policy

تعيين نهج الوصول المخزنة للجدول الذي يمكن استخدامه مع توقيعات الوصول المشترك.

submit_transaction

قم بتنفيذ قائمة بالعمليات كمعاملة واحدة.

إذا فشلت أي من هذه العمليات، فسيتم رفض المعاملة بأكملها.

update_entity

تحديث الكيان في جدول.

upsert_entity

تحديث/دمج أو إدراج كيان في جدول.

close

هذا الأسلوب هو إغلاق مآخذ التوصيل التي فتحها العميل. لا يلزم استخدامه عند استخدام مع مدير سياق.

close() -> None

create_entity

إدراج كيان في جدول.

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

المعلمات

entity
Union[TableEntity, Mapping[str, Any]]
مطلوب

خصائص كيان الجدول.

المرتجعات

بيانات تعريف عملية تعيين القاموس التي تم إرجاعها من الخدمة

نوع الإرجاع

استثناءات

أمثلة

إنشاء كيان وإضافته إلى جدول


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

create_table

إنشاء جدول جديد ضمن الحساب الحالي.

create_table(**kwargs) -> TableItem

المرتجعات

TableItem يمثل الجدول الذي تم إنشاؤه.

نوع الإرجاع

استثناءات

إذا كان الكيان موجودا بالفعل

أمثلة

إنشاء جدول من عنصر 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

حذف الكيان المحدد في جدول. لن يتم رفع أي خطأ إذا لم يتم العثور على الكيان أو PartitionKey-RowKey الاقتران.

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

المعلمات

partition_key
str
مطلوب

مفتاح القسم للكيان.

row_key
str
مطلوب

مفتاح الصف للكيان.

entity
Union[TableEntity, Mapping[str, str]]
مطلوب

الكيان المراد حذفه

etag
str

Etag للكيان

match_condition
MatchConditions

الشرط الذي يجب تنفيذ العملية بموجبه. تتضمن القيم المدعومة: MatchConditions.IfNotModified, MatchConditions.Unconditionally. القيمة الافتراضية هي بلا قيد أو شرط.

المرتجعات

بلا

استثناءات

أمثلة

حذف كيان من جدول


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

delete_table

حذف الجدول ضمن الحساب الحالي. لن يتم رفع أي خطأ إذا لم يكن الجدول موجودا

delete_table(**kwargs) -> None

المرتجعات

بلا

استثناءات

أمثلة

حذف جدول من عنصر 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

إنشاء TableClient من سلسلة اتصال.

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

المعلمات

conn_str
str
مطلوب

سلسلة اتصال بحساب Azure Tables.

table_name
str
مطلوب

اسم الجدول.

المرتجعات

عميل جدول.

نوع الإرجاع

أمثلة

مصادقة TableServiceClient من 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

عميل للتفاعل مع جدول معين.

AzureSasCredential (azure-core)، أو تطبيق TokenCredential من azure-identity. بيانات اعتماد :p aramtype:

~azure.core.credentials.AzureNamedKeyCredential أو ~azure.core.credentials.AzureSasCredential أو None

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

المعلمات

table_url
مطلوب

المرتجعات

عميل جدول.

نوع الإرجاع

get_entity

احصل على كيان واحد في جدول.

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

المعلمات

partition_key
str
مطلوب

مفتاح القسم للكيان.

row_key
str
مطلوب

مفتاح الصف للكيان.

select
str أو list[str]

حدد الخصائص المطلوبة للكيان لإرجاعه.

المرتجعات

بيانات تعريف عملية تعيين القاموس التي تم إرجاعها من الخدمة

نوع الإرجاع

استثناءات

أمثلة

الحصول على كيان واحد من جدول


   # 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

استرداد تفاصيل حول أي نهج وصول مخزنة محددة في الجدول والتي يمكن استخدامها مع توقيعات الوصول المشترك.

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

المرتجعات

قاموس النماذج الموقعة

نوع الإرجاع

استثناءات

list_entities

يسرد الكيانات في جدول.

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

المعلمات

results_per_page
int

عدد الكيانات التي تم إرجاعها لكل طلب خدمة.

select
str أو list[str]

حدد الخصائص المطلوبة للكيان لإرجاعه.

المرتجعات

مكرر ل TableEntity

نوع الإرجاع

استثناءات

أمثلة

سرد جميع الكيانات الموجودة داخل جدول


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

query_entities

يسرد الكيانات في جدول.

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

المعلمات

query_filter
str
مطلوب

حدد عامل تصفية لإرجاع كيانات معينة. لمزيد من المعلومات حول تنسيق عامل التصفية، راجع وثائق العينات.

results_per_page
int

عدد الكيانات التي تم إرجاعها لكل طلب خدمة.

select
str أو list[str]

حدد الخصائص المطلوبة للكيان لإرجاعه.

parameters
dict[str, Any]

قاموس لتنسيق الاستعلام باستخدام معلمات إضافية معرفة من قبل المستخدم

المرتجعات

مكرر ل TableEntity

نوع الإرجاع

استثناءات

أمثلة

كيانات الاستعلام المحتفظ بها داخل جدول


   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

تعيين نهج الوصول المخزنة للجدول الذي يمكن استخدامه مع توقيعات الوصول المشترك.

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

المعلمات

signed_identifiers
dict[str, TableAccessPolicy] أو dict[str, None]
مطلوب

نهج الوصول لتعيينها للجدول

المرتجعات

بلا

استثناءات

submit_transaction

قم بتنفيذ قائمة بالعمليات كمعاملة واحدة.

إذا فشلت أي من هذه العمليات، فسيتم رفض المعاملة بأكملها.

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

المعلمات

operations
Iterable[Tuple[str, TableEntity, Mapping[str, Any]]]
مطلوب

قائمة العمليات المراد تنفيذها في معاملة. يجب أن يكون هذا قابلا للتكتم من المجموعات التي تحتوي على اسم عملية، والكيان الذي سيتم العمل عليه، واختياريا، لوحة من الكوارس الإضافية لتلك العملية. على سبيل المثال:


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

المرتجعات

قائمة بالتعيينات مع بيانات تعريف الاستجابة لكل عملية في المعاملة.

نوع الإرجاع

استثناءات

أمثلة

استخدام المعاملات لإرسال طلبات متعددة في وقت واحد


   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

تحديث الكيان في جدول.

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

المعلمات

entity
TableEntity أو dict[str, Any]
مطلوب

خصائص كيان الجدول.

mode
UpdateMode
مطلوب

دمج الكيان أو استبداله

etag
str

Etag للكيان

match_condition
MatchConditions

الشرط الذي يجب تنفيذ العملية بموجبه. تتضمن القيم المدعومة: MatchConditions.IfNotModified, MatchConditions.Unconditionally. القيمة الافتراضية هي بلا قيد أو شرط.

المرتجعات

بيانات تعريف عملية تعيين القاموس التي تم إرجاعها من الخدمة

نوع الإرجاع

استثناءات

أمثلة

تحديث كيان تم إنهاءه بالفعل في جدول


   # 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

تحديث/دمج أو إدراج كيان في جدول.

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

المعلمات

entity
TableEntity أو dict[str, Any]
مطلوب

خصائص كيان الجدول.

mode
UpdateMode
مطلوب

دمج الكيان أو استبداله

المرتجعات

بيانات تعريف عملية تعيين القاموس التي تم إرجاعها من الخدمة

نوع الإرجاع

استثناءات

أمثلة

تحديث/دمج كيان أو إدراجه في جدول


   # 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))

السمات

api_version

إصدار واجهة برمجة تطبيقات التخزين المستخدمة للطلبات.

المرتجعات

إصدار واجهة برمجة تطبيقات التخزين.

url

عنوان URL الكامل لنقطة النهاية لهذا الكيان، بما في ذلك رمز SAS المميز إذا تم استخدامه.

قد تكون هذه إما نقطة النهاية الأساسية، أو نقطة النهاية الثانوية اعتمادا على الحالية <xref:azure.data.tables.location_mode>.

المرتجعات

عنوان URL الكامل لنقطة النهاية بما في ذلك رمز SAS المميز إذا تم استخدامه.

نوع الإرجاع

str