共用方式為


TableServiceClient 類別

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

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

從認證建立 TablesBaseClient。

繼承
azure.data.tables.aio._base_client_async.AsyncTablesBaseClient
TableServiceClient

建構函式

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

參數

endpoint
str
必要

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

credential
AzureNamedKeyCredentialAzureSasCredentialAsyncTokenCredentialNone

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

api_version
str

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

endpoint
str
必要

Azure 資料表帳戶的 URL。

credential
AzureNamedKeyCredentialAzureSasCredentialAsyncTokenCredentialNone

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

api_version
strNone

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

範例

使用帳戶 URL 和認證建立 tableServiceClient。


   from azure.data.tables.aio import TableServiceClient

   async with TableServiceClient.from_connection_string(conn_str=self.connection_string) as table_service:
       properties = await table_service.get_service_properties()
       print("Shared Key: {}".format(properties))

使用共用存取簽章建立 tableServiceClient。


   from azure.data.tables.aio 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),
   )

   async with TableServiceClient(
       endpoint=self.endpoint, credential=AzureSasCredential(sas_token)
   ) as token_auth_table_service:
       properties = await token_auth_table_service.get_service_properties()
       print("Shared Access Signature: {}".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

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

async close() -> None

create_table

在指定的帳號下建立新的資料表。

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

參數

table_name
str
必要

資料表名稱。

傳回

TableClient 或 cls (回應的結果)

傳回類型

例外狀況

範例

從 TableServiceClient 建立資料表。


   async with TableServiceClient.from_connection_string(self.connection_string) as table_service_client:
       try:
           table_client = await 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

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

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

參數

table_name
str
必要

資料表名稱。

傳回

TableClient

傳回類型

範例

如果資料表不存在,請建立資料表


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

delete_table

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

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

參數

table_name
str
必要

資料表名稱。

傳回

例外狀況

範例

刪除資料表


   async with TableServiceClient.from_connection_string(self.connection_string) as table_service_client:
       await 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 資料表帳戶的連接字串。

傳回

資料表服務用戶端。

傳回類型

範例

從連接字串建立 tableServiceClient


   from azure.data.tables.aio import TableServiceClient

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

get_service_properties

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

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

參數

cls
callable

將傳遞直接回應的自訂類型或函式

傳回

TableServiceProperties 或 cls (回應的結果)

傳回類型

例外狀況

get_service_stats

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

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

傳回

服務統計資料的字典

傳回類型

例外狀況

get_table_client

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

資料表尚未存在。

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

參數

table_name
str
必要

資料表名稱

傳回

TableClient 物件。

傳回類型

list_tables

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

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

參數

results_per_page
int

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

傳回

的非同步反覆運算器 TableItem

傳回類型

例外狀況

範例

列出帳戶中的所有資料表


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

query_tables

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

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

參數

query_filter
str
必要

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

results_per_page
int

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

parameters
dict[str, Any]

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

傳回

的非同步反覆運算器 TableItem

傳回類型

例外狀況

範例

查詢帳戶中指定特定參數的資料表


   # Query for "table1" in the tables created
   table_name = "mytableasync1"
   name_filter = "TableName eq '{}'".format(table_name)
   print("Queried_tables")
   async for table in table_service.query_tables(name_filter):
       print("\t{}".format(table.name))

set_service_properties

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

async set_service_properties(*, analytics_logging: TableAnalyticsLogging | None = None, hour_metrics: TableMetrics | None = None, minute_metrics: TableMetrics | None = None, cors: List[TableCorsRule] | None = None, **kwargs) -> None

參數

analytics_logging
TableAnalyticsLoggingNone

分析的屬性

hour_metrics
TableMetricsNone

小時層級計量

minute_metrics
TableMetricsNone

分鐘層級計量

cors
list[TableCorsRule] 或 None

跨原始來源資源分享規則

傳回

例外狀況

屬性

api_version

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

傳回

儲存體 API 版本。

url

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

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

傳回

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

傳回類型

str