TableServiceClient 類別
在帳戶層級與資料表服務互動的用戶端。
此用戶端提供作業來擷取和設定帳戶屬性,以及列出、建立和刪除帳戶內的資料表。 對於與特定資料表相關的作業,可以使用 函式擷取此實體的 get_table_client 用戶端。
從認證建立 TablesBaseClient。
- 繼承
-
azure.data.tables.aio._base_client_async.AsyncTablesBaseClientTableServiceClient
建構函式
TableServiceClient(endpoint: str, *, credential: AzureSasCredential | AzureNamedKeyCredential | AsyncTokenCredential | None = None, **kwargs)
參數
- credential
- AzureNamedKeyCredential 或 AzureSasCredential 或 AsyncTokenCredential 或 None
要用來驗證的認證。 如果帳戶 URL 已經有 SAS 權杖,則這是選擇性的。 此值可以是 azure-core (azure-core) 、AzureSasCredential (azure-core) 或 AsyncTokenCredential 實作的其中一個。
- api_version
- str
要用於要求的儲存體 API 版本。 預設值為 '2019-02-02'。 將 設定為較舊版本可能會導致功能相容性降低。
- credential
- AzureNamedKeyCredential 或 AzureSasCredential 或 AsyncTokenCredential 或 None
要用來驗證的認證。 如果帳戶 URL 已經有 SAS 權杖,則這是選擇性的。 此值可以是 azure-core (azure-core) 、AzureSasCredential (azure-core) 或 AsyncTokenCredential 實作的其中一個。
範例
使用帳戶 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
參數
傳回
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
參數
傳回
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
參數
傳回
無
例外狀況
範例
刪除資料表
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
參數
傳回
資料表服務用戶端。
傳回類型
範例
從連接字串建立 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
參數
傳回
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]
參數
- results_per_page
- int
傳回 ItemPaged 中每頁的資料表數目
傳回
的非同步反覆運算器 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
- TableAnalyticsLogging 或 None
分析的屬性
- hour_metrics
- TableMetrics 或 None
小時層級計量
- minute_metrics
- TableMetrics 或 None
分鐘層級計量
- cors
- list[TableCorsRule] 或 None
跨原始來源資源分享規則
傳回
無
例外狀況
屬性
api_version
用於要求的儲存體 API 版本。
傳回
儲存體 API 版本。
url
此實體的完整端點 URL,包括使用 SAS 權杖。
這可能是主要端點或次要端點,視目前的 <xref:azure.data.tables.aio.location_mode> 而定。
傳回
使用時包含 SAS 權杖的完整端點 URL。