【问题标题】:How to delete table data from Azure Storage Explorer?如何从 Azure 存储资源管理器中删除表数据?
【发布时间】:2019-07-09 05:47:18
【问题描述】:

我有一个存储帐户和存储帐户中的表。我找不到任何好的文章来告诉我如何从 Azure 存储帐户中的表中删除数据。它似乎也不像一个直接的 sql 删除查询来完成任务(当我尝试它需要永远执行时)。 当我可以进行一些查询以从 azure 存储表中检索数据时,为什么没有适当的文档来删除数据?但是通过选择行并使用删除按钮来删除行是有效的,但它不是理想的做法。 我使用以下查询来检索数据

PartitionKey eq '123' and Type eq 'SomeText'

我也想删除数据。查询我想要实现的目标类似于,

Delete from MyTable where PartitionKey eq '123' and Type eq 'SomeText'

但是上面的查询需要很长时间并且最终执行失败。 由于我是天蓝色的新手,因此非常感谢任何能帮助我指明正确方向的人。(

【问题讨论】:

    标签: azure tsql azure-storage azure-storage-emulator


    【解决方案1】:

    此查询不起作用:

    Delete from MyTable where PartitionKey eq '123' and Type eq 'SomeText'
    

    因为 Azure Tables 不支持这种方式删除。

    您需要做的是使用PartitionKey eq '123' and Type eq 'SomeText' 获取实体,然后逐个删除获取的实体或在实体批处理事务中删除。

    为了加快操作,您可以:

    • 使用查询投影,只返回PartitionKeyRowKey,因为删除时只需要这两个属性。
    • 使用实体批量事务并在单个请求中删除多达 100 个实体。请注意,这仅适用于您以编程方式删除实体的情况。在存储资源管理器中,您需要选择实体,然后将其删除。

    【讨论】:

    • 这个过程需要很长时间。在我的本地机器上删除大约一百万行的表大约需要一个小时。并且使用资源管理器会抛出“无法在指定时间内完成操作”的错误。感觉很奇怪,这么基本的事情竟然这么难做!!
    猜你喜欢
    • 1970-01-01
    • 2018-06-19
    • 2016-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-06
    • 2020-08-18
    • 2018-09-13
    相关资源
    最近更新 更多