通过 python API 获取 Windows Azure 存储表名称
Fetching Windows Azure Storage tables names through python API
我正在尝试获取我的 Windows Azure 存储帐户的所有 table 的名称,以便使用 table_service.delete_table('tasktable')
删除它们。
不幸的是,我在 Windows Azure HOWTO 中没有找到任何内容。我只找到了 official REST API documentation and this blog 来解释我想做什么,但它不在 python.
中
有什么方法可以使用 python 获取所有名字 table 吗?
您可以调用 query_tables()
来枚举存储帐户中的各种表:
from azure.storage import TableService
table_service = TableService(account_name='name', account_key='key')
alltables = table_service.query_tables()
for table in alltables:
print table.name
你可以在tableservice.py
中看到query_tables()
的定义
服务已更新至 list_tables,但可以正常使用。 David Makogon 的上述回答是有效的,但 query_table() 端点现在是 table_list
from azure.cosmosdb.table.tableservice import TableService
table_service = TableService(account_name='name', account_key='key')
alltables = table_service.table_list()
for table in alltables:
print table.name
Azure Table Storage 在预览版中有一个新的 python 库,可通过 pip 安装。要安装,请使用以下 pip 命令
pip install azure-data-tables
此 SDK 能够针对 Tables 或 Cosmos 端点(尽管有 known issues with Cosmos)。
要查询所有表并随后删除,您可以使用 list_tables
方法,如下所示:
from azure.data.tables import TableServiceClient
table_service_client = TableServiceClient.from_connection_string(my_conn_str)
for table in table_service_client.list_tables():
table_service_client.delete_table(table.table_name)
您还可以使用 query_tables
方法和 OData 过滤器仅删除表的一个子集:
...
table_filter = "TableName ne 'tableToKeep'"
for table in table_service_client.query_tables(filter=table_filter):
table_service_client.delete_table(table.table_name)
(仅供参考,我是 Python 团队的 Azure SDK 的 Microsoft 员工)
我正在尝试获取我的 Windows Azure 存储帐户的所有 table 的名称,以便使用 table_service.delete_table('tasktable')
删除它们。
不幸的是,我在 Windows Azure HOWTO 中没有找到任何内容。我只找到了 official REST API documentation and this blog 来解释我想做什么,但它不在 python.
中有什么方法可以使用 python 获取所有名字 table 吗?
您可以调用 query_tables()
来枚举存储帐户中的各种表:
from azure.storage import TableService
table_service = TableService(account_name='name', account_key='key')
alltables = table_service.query_tables()
for table in alltables:
print table.name
你可以在tableservice.py
中看到query_tables()
的定义
服务已更新至 list_tables,但可以正常使用。 David Makogon 的上述回答是有效的,但 query_table() 端点现在是 table_list
from azure.cosmosdb.table.tableservice import TableService
table_service = TableService(account_name='name', account_key='key')
alltables = table_service.table_list()
for table in alltables:
print table.name
Azure Table Storage 在预览版中有一个新的 python 库,可通过 pip 安装。要安装,请使用以下 pip 命令
pip install azure-data-tables
此 SDK 能够针对 Tables 或 Cosmos 端点(尽管有 known issues with Cosmos)。
要查询所有表并随后删除,您可以使用 list_tables
方法,如下所示:
from azure.data.tables import TableServiceClient
table_service_client = TableServiceClient.from_connection_string(my_conn_str)
for table in table_service_client.list_tables():
table_service_client.delete_table(table.table_name)
您还可以使用 query_tables
方法和 OData 过滤器仅删除表的一个子集:
...
table_filter = "TableName ne 'tableToKeep'"
for table in table_service_client.query_tables(filter=table_filter):
table_service_client.delete_table(table.table_name)
(仅供参考,我是 Python 团队的 Azure SDK 的 Microsoft 员工)