共用方式為


TableServiceClient 類別

在帳戶層級與資料表服務互動的用戶端。

此用戶端提供作業來擷取和設定帳戶屬性,以及列出、建立和刪除帳戶內的資料表。 對於與特定資料表相關的作業,可以使用 函式擷取此實體的 get_table_client 用戶端。

從認證建立 TablesBaseClient。

繼承
azure.data.tables._base_client.TablesBaseClient
TableServiceClient

建構函式

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

參數

endpoint
str
必要

資料表服務端點的 URL。 URL 路徑中所包含的任何其他實體 (,例如資料表) 將會捨棄。 此 URL 可以選擇性地使用 SAS 權杖進行驗證。

credential
AzureNamedKeyCredentialAzureSasCredentialTokenCredentialNone

要用來驗證的認證。 如果帳戶 URL 已經有 SAS 權杖,則這是選擇性的。 此值可以是 azure-core (azure-core) 、AzureSasCredential (azure-core) 或來自 azure-identity 的 TokenCredential 實作之一。

api_version
str

要用於要求的儲存體 API 版本。 預設值為 '2019-02-02'。 將 設定為較舊版本可能會導致功能相容性降低。

endpoint
str
必要

Azure 資料表帳戶的 URL。

credential
AzureNamedKeyCredentialAzureSasCredentialTokenCredentialNone

要用來驗證的認證。 如果帳戶 URL 已經有 SAS 權杖,則這是選擇性的。 此值可以是 azure-core (azure-core) 、AzureSasCredential (azure-core) 或來自 azure-identity 的 TokenCredential 實作之一。

api_version
strNone

指定用於這個要求的作業版本。 預設值為 「2019-02-02」。

範例

從共用存取金鑰驗證 TableServiceClient


   from azure.data.tables import TableServiceClient
   from azure.core.credentials import AzureNamedKeyCredential, AzureSasCredential

   # Create a SAS token to use for authentication of a client
   from azure.data.tables import generate_account_sas, ResourceTypes, AccountSasPermissions

   print("Account name: {}".format(self.account_name))
   credential = AzureNamedKeyCredential(self.account_name, self.access_key)  # type: ignore[arg-type]
   sas_token = generate_account_sas(
       credential,
       resource_types=ResourceTypes(service=True),
       permission=AccountSasPermissions(read=True),
       expiry=datetime.utcnow() + timedelta(hours=1),
   )

   with TableServiceClient(
       endpoint=self.endpoint, credential=AzureSasCredential(sas_token)
   ) as token_auth_table_service:
       properties = token_auth_table_service.get_service_properties()
       print("Shared Access Signature: {}".format(properties))

從共用帳戶金鑰驗證 TableServiceClient


   from azure.data.tables import TableServiceClient
   from azure.core.credentials import AzureNamedKeyCredential

   credential = AzureNamedKeyCredential(self.account_name, self.access_key)  # type: ignore[arg-type]
   with TableServiceClient(endpoint=self.endpoint, credential=credential) as table_service:
       properties = table_service.get_service_properties()
       print("Shared Key: {}".format(properties))

變數

account_name
str

資料表帳戶的名稱。

url
str

資料表帳戶的完整 URL。

方法

close

這個方法是關閉用戶端所開啟的通訊端。 搭配內容管理員使用時,不需要使用它。

create_table

在目前帳戶下建立新的資料表。

create_table_if_not_exists

如果資料表目前不存在,請建立新的資料表。 如果資料表目前存在,則會傳回目前的資料表。

delete_table

刪除目前帳戶底下的資料表。 如果找不到指定的資料表,將不會引發任何錯誤。

from_connection_string

從連接字串建立 TableServiceClient。

get_service_properties

取得帳戶資料表服務的屬性,包括分析與 CORS (跨原始資源分享) 規則的屬性。

get_service_stats

擷取與表格服務的複寫相關的統計資料。 只有在帳戶啟用讀取權限異地備援複寫時,才能在次要位置端點上使用。

get_table_client

取得用戶端以與指定的資料表互動。

資料表尚未存在。

list_tables

查詢指定帳戶下的資料表。

query_tables

查詢指定帳戶下的資料表。

set_service_properties

設定帳戶資料表服務端點的屬性,包括分析與 CORS (跨原始來源資源分享) 規則的屬性。

close

這個方法是關閉用戶端所開啟的通訊端。 搭配內容管理員使用時,不需要使用它。

close() -> None

create_table

在目前帳戶下建立新的資料表。

create_table(table_name: str, **kwargs) -> TableClient

參數

table_name
str
必要

資料表名稱。

傳回

TableClient

傳回類型

例外狀況

範例

從 TableServiceClient 物件建立資料表


   with TableServiceClient.from_connection_string(self.connection_string) as table_service_client:
       try:
           table_client = table_service_client.create_table(table_name=self.table_name)
           print("Created table {}!".format(table_client.table_name))
       except ResourceExistsError:
           print("Table already exists")

create_table_if_not_exists

如果資料表目前不存在,請建立新的資料表。 如果資料表目前存在,則會傳回目前的資料表。

create_table_if_not_exists(table_name: str, **kwargs) -> TableClient

參數

table_name
str
必要

資料表名稱。

傳回

TableClient

傳回類型

例外狀況

範例

如果資料表不存在,請從 TableServiceClient 物件建立資料表


   with TableServiceClient.from_connection_string(self.connection_string) as table_service_client:
       table_client = table_service_client.create_table_if_not_exists(table_name=self.table_name)
       print("Table name: {}".format(table_client.table_name))

delete_table

刪除目前帳戶底下的資料表。 如果找不到指定的資料表,將不會引發任何錯誤。

delete_table(table_name: str, **kwargs) -> None

參數

table_name
str
必要

資料表名稱。

傳回

例外狀況

範例

從 TableServiceClient 物件刪除資料表


   with TableServiceClient.from_connection_string(self.connection_string) as table_service_client:
       table_service_client.delete_table(table_name=self.table_name)
       print("Deleted table {}!".format(self.table_name))

from_connection_string

從連接字串建立 TableServiceClient。

from_connection_string(conn_str: str, **kwargs) -> TableServiceClient

參數

conn_str
str
必要

Azure 儲存體或 Cosmos 帳戶的連接字串。

傳回

資料表服務用戶端。

傳回類型

範例

從connection_string驗證 TableServiceClient


   from azure.data.tables import TableServiceClient

   with TableServiceClient.from_connection_string(conn_str=self.connection_string) as table_service:
       properties = table_service.get_service_properties()
       print("Connection String: {}".format(properties))

get_service_properties

取得帳戶資料表服務的屬性,包括分析與 CORS (跨原始資源分享) 規則的屬性。

get_service_properties(**kwargs) -> Dict[str, object]

傳回

服務屬性的字典

傳回類型

例外狀況

get_service_stats

擷取與表格服務的複寫相關的統計資料。 只有在帳戶啟用讀取權限異地備援複寫時,才能在次要位置端點上使用。

get_service_stats(**kwargs) -> Dict[str, object]

傳回

服務統計資料的字典

傳回類型

例外狀況

azure.core.exceptions.HttpResponseError:

get_table_client

取得用戶端以與指定的資料表互動。

資料表尚未存在。

get_table_client(table_name: str, **kwargs) -> TableClient

參數

table_name
str
必要

資料表名稱

傳回

TableClient 物件。

傳回類型

list_tables

查詢指定帳戶下的資料表。

list_tables(**kwargs) -> ItemPaged[TableItem]

參數

results_per_page
int

傳回 ItemPaged 中每頁的資料表數目

傳回

的反覆運算器 TableItem

傳回類型

例外狀況

範例

列出儲存體帳戶中的所有資料表


   # List all the tables in the service
   list_tables = table_service.list_tables()
   print("Listing tables:")
   for table in list_tables:
       print("\t{}".format(table.name))

query_tables

查詢指定帳戶下的資料表。

query_tables(query_filter: str, **kwargs) -> ItemPaged[TableItem]

參數

query_filter
str
必要

指定篩選以傳回特定資料表。

results_per_page
int

傳回 ItemPaged 中每頁的資料表數目

parameters
dict[str, Any]

使用其他使用者定義的參數來格式化查詢的字典

傳回

的反覆運算器 TableItem

傳回類型

例外狀況

範例

查詢儲存體帳戶中的資料表


   table_name = "mytable1"
   name_filter = "TableName eq '{}'".format(table_name)
   queried_tables = table_service.query_tables(name_filter)

   print("Queried_tables")
   for table in queried_tables:
       print("\t{}".format(table.name))

set_service_properties

設定帳戶資料表服務端點的屬性,包括分析與 CORS (跨原始來源資源分享) 規則的屬性。

set_service_properties(**kwargs) -> None

參數

analytics_logging
TableAnalyticsLogging

分析的屬性

hour_metrics
TableMetrics

小時層級計量

minute_metrics
TableMetrics

分鐘層級計量

cors
list[TableCorsRule]

跨原始來源資源分享規則

傳回

例外狀況

屬性

api_version

用於要求的儲存體 API 版本。

傳回

儲存體 API 版本。

url

此實體的完整端點 URL,包括使用 SAS 權杖。

這可能是主要端點或次要端點,視目前的 <xref:azure.data.tables.location_mode> 而定。

傳回

使用時包含 SAS 權杖的完整端點 URL。

傳回類型

str