你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
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 令牌,则这是可选的。 该值可以是 AzureNamedKeyCredential (azure-core) 、AzureSasCredential (azure-core) 或 azure-identity 中的 AsyncTokenCredential 实现之一。
- api_version
- str
用于请求的存储 API 版本。 默认值为“2019-02-02”。 设置为较旧版本可能会导致功能兼容性降低。
- credential
- AzureNamedKeyCredential 或 AzureSasCredential 或 AsyncTokenCredential 或 None
用于进行身份验证的凭据。 如果帐户 URL 已具有 SAS 令牌,则这是可选的。 该值可以是 AzureNamedKeyCredential (azure-core) 、AzureSasCredential (azure-core) 或 azure-identity 中的 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))
使用共享访问签名创建表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
参数
返回
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
获取帐户表服务的属性,包括 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
参数
返回
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>。
返回
完整的终结点 URL,包括 SAS 令牌(如果使用)。