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

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

credential
AzureNamedKeyCredentialAzureSasCredentialTokenCredentialNone

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

api_version
str

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

endpoint
str
必需

Azure 表帐户的 URL。

credential
AzureNamedKeyCredentialAzureSasCredentialTokenCredentialNone

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

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

设置帐户的表服务终结点的属性,包括 Analytics 和 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

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

设置帐户的表服务终结点的属性,包括 Analytics 和 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>。

返回

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

返回类型

str