你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
TableServiceClient 类
在帐户级别与表服务交互的客户端。
此客户端提供检索和配置帐户属性以及列出、创建和删除帐户中的表的操作。 对于与特定表相关的操作,可以使用 函数检索此实体的 get_table_client 客户端。
从凭据创建 TablesBaseClient。
- 继承
-
azure.data.tables._base_client.TablesBaseClientTableServiceClient
构造函数
TableServiceClient(endpoint: str, *, credential: AzureNamedKeyCredential | AzureSasCredential | TokenCredential | None = None, **kwargs)
参数
- credential
- AzureNamedKeyCredential 或 AzureSasCredential 或 TokenCredential 或 None
用于进行身份验证的凭据。 如果帐户 URL 已有 SAS 令牌,则这是可选的。 该值可以是 AzureNamedKeyCredential (azure-core) 、AzureSasCredential (azure-core) 或 azure-identity 中的 TokenCredential 实现之一。
- api_version
- str
用于请求的存储 API 版本。 默认值为“2019-02-02”。 设置为较旧版本可能会导致功能兼容性降低。
- credential
- AzureNamedKeyCredential 或 AzureSasCredential 或 TokenCredential 或 None
用于进行身份验证的凭据。 如果帐户 URL 已有 SAS 令牌,则这是可选的。 该值可以是 AzureNamedKeyCredential (azure-core) 、AzureSasCredential (azure-core) 或 azure-identity 中的 TokenCredential 实现之一。
示例
从共享访问密钥对 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
参数
返回
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
参数
返回
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
参数
返回
无
例外
示例
从 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
参数
返回
表服务客户端。
返回类型
示例
从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]
返回
服务统计信息字典
返回类型
例外
get_table_client
获取要与指定表交互的客户端。
该表不需要已经存在。
get_table_client(table_name: str, **kwargs) -> TableClient
参数
返回
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]
参数
- results_per_page
- int
返回 ItemPaged 的每页表数
返回
的迭代器 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 令牌(如果使用)。