你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

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 路径 (包含的任何其他实体,例如表) 。 可以选择使用 SAS 令牌对此 URL 进行身份验证。

credential
AzureNamedKeyCredentialAzureSasCredentialAsyncTokenCredentialNone

用于进行身份验证的凭据。 如果帐户 URL 已具有 SAS 令牌,则这是可选的。 该值可以是 AzureNamedKeyCredential (azure-core) 、AzureSasCredential (azure-core) 或 azure-identity 中的 AsyncTokenCredential 实现之一。

api_version
str

用于请求的存储 API 版本。 默认值为“2019-02-02”。 设置为较旧版本可能会导致功能兼容性降低。

endpoint
str
必需

Azure 表帐户的 URL。

credential
AzureNamedKeyCredentialAzureSasCredentialAsyncTokenCredentialNone

用于进行身份验证的凭据。 如果帐户 URL 已具有 SAS 令牌,则这是可选的。 该值可以是 AzureNamedKeyCredential (azure-core) 、AzureSasCredential (azure-core) 或 azure-identity 中的 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))

使用共享访问签名创建表ServiceClient。


   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

Tables 帐户的完整 URL。

方法

close

此方法用于关闭客户端打开的套接字。 与上下文管理器一起使用时,不需要使用它。

create_table

在给定帐户下创建新表。

create_table_if_not_exists

创建一个新表(如果当前不存在)。 如果表当前存在,则返回当前表。

delete_table

删除当前帐户下的表。 如果未找到表,则不会引发错误。

from_connection_string

从连接字符串创建 TableServiceClient。

get_service_properties

获取帐户表服务的属性,包括 Analytics 和 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

获取帐户表服务的属性,包括 Analytics 和 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>。

返回

完整的终结点 URL,包括 SAS 令牌(如果使用)。

返回类型

str