【Azure 存储服务】存储在Azure Storage Table中的数据,如何按照条件进行删除呢?
问题描述
如何按条件删除 Storage Table 中的数据,如果Table中有大量的条记录需要删除,Java代码如何按条件删除 Table中的数据(Entity)?

(通过Azure Storage Explorer工具是可以删除,但是由于数据量太大,人工操作耗时太久,所以需要使用Java代码完成)
问题解答
删除Table
删除表的操作可以通过 Storage Explorer工具或者REST API接口(https://learn.microsoft.com/zh-cn/rest/api/storageservices/delete-table)完成。成功删除表时,会立即将其标记为要删除,并且客户端不再可访问。 稍后,在垃圾回收期间,该表将从表存储中删除。
请注意,删除表可能需要至少 40 秒才能完成。 如果在删除表时尝试对表执行操作,服务将返回状态代码 409 (Conflict) 。 该服务返回其他错误信息,指示正在删除表。
删除Table中的Entity
当需要根据某些条件删除表中数据的时候,可以参考Table的实例代码:https://docs.azure.cn/zh-cn/cosmos-db/table/how-to-use-java, 调用 TableClient.deleteEntity 即可根据 partition key 和 row key 来删除数据。 也可以先查找需要删除的Entity后,调用 deleteEntity 方法删除
- deleteEntity(TableEntity entity) : Deletes an TableEntity from the table.
- deleteEntity(String partitionKey, String rowKey) : Deletes an TableEntity from the table.

(可以在红色箭头处 forEach 中调用 tableClient.deleteEntity(tableEntity) 来删除它)
其他方式
当然也可以使用RESTAPI的方式执行实体组事务 (REST API) - https://learn.microsoft.com/zh-cn/rest/api/storageservices/performing-entity-group-transactions#requirements-for-entity-group-transactions
需要注意的是批量操作需要满足以下要求:
• 要作为事务部分操作的所有实体都必须具有相同的 PartitionKey 值。
• 一个实体在事务中只能出现一次,对其只能执行一项操作。
• 事务可以包含最多 100 个实体,其总有效负载大小不能超过 4 MiB。
【END】
【Azure 存储服务】存储在Azure Storage Table中的数据,如何按照条件进行删除呢?的更多相关文章
- Azure Backup (3) 使用Azure备份服务,备份Azure虚拟机
<Windows Azure Platform 系列文章目录> 本将介绍,如何使用Azure备份服务,备份Azure虚拟机. 我们先预先创建2台Windows VM (命名为LeiVM00 ...
- 【Azure 云服务】为Azure云服务配置上自签名的SSL证书步骤
问题描述 在使用Azure Cloud Service(云服务),默认的情况下都是使用的 HTTP 服务,通过 Visual Studio 2022 创建的默认 Cloud Service项目中,在S ...
- wp8.1 Study16:网络之 使用Azure移动服务及利用Azure推送通知服务
一.WP8.1有关网络的API WP8.1与其它平台的对比如下图: 二.Azure移动服务 前提: Azure移动服务可以让使用者的数据存放在云空间,从而方便使用者的App在不同平台上的数据共享. 1 ...
- 分布式服务框架 Zookeeper -- 管理分布式环境中的数据
转自:http://www.ibm.com/developerworks/cn/opensource/os-cn-zookeeper/index.html Zookeeper 分布式服务框架是 Apa ...
- 分布式服务框架 Zookeeper -- 管理分布式环境中的数据(转载)
本文转载自:http://www.ibm.com/developerworks/cn/opensource/os-cn-zookeeper/ Zookeeper 分布式服务框架是 Apache Had ...
- 分布式服务框架 Zookeeper -- 管理分布式环境中的数据--转载
原文:http://www.ibm.com/developerworks/cn/opensource/os-cn-zookeeper/ Zookeeper 分布式服务框架是 Apache Hadoop ...
- 【Zookeeper】分布式服务框架 Zookeeper -- 管理分布式环境中的数据
Zookeeper 分布式服务框架是 Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务.状态同步服务.集群管理.分布式应用配置项的管理 ...
- 【转】分布式服务框架 Zookeeper -- 管理分布式环境中的数据
Zookeeper 分布式服务框架是 Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务.状态同步服务.集群管理.分布式应用配置项的管理 ...
- 向已有的table中插入数据
table: <table id="seleted-table" class="table table-bordered table-hover" sty ...
- js穿梭框;将两个table中的数据选中移动
将table中选中的数据移动到右边: 点击一行中的任意一个位置,使其选中: 注:attr()和prop()都是jquery的方法: .attr() : 获取匹配的元素集合中的第一个元素的属性的值 或 ...
随机推荐
- redis 6源码解析之 事件
redis的事件分为:文件事件和时间事件.文件事件是基于I/O的事务处理,时间事件则是基于时间点的事务处理.redis事件支持的多路复用包含四个实现:ae_epoll.c,ae_evport.c,ae ...
- vue3新特性
值得注意的新特性 1==> 组合式 API 2==> Teleport 3==> 片段 4==> 触发组件选项 5==> createRenderer API 来自 @v ...
- 手写promise自定义封装异步任务回调的执行
自定义封装异步任务回调的执行 <script type="text/javascript"> let p = new Promise((resolve, reject) ...
- 手撕Vue-实现将数据代理到Vue实例
前言 经过上一篇文章的学习,完成了 v-on 指令的实现,接下来我们来实现将数据代理到 Vue 实例上. 为什么要完成这个功能呢?因为我们在使用 Vue 的时候,可以直接通过 this.xxx 的方式 ...
- 利用Mybatis拦截器实现自定义的ID自增器
原生的Mybatis框架是没有ID自增器,但例如国产的Mybatis Plus却是支持,不过,Mybatis Plus却是缺少了自定属性的填充:例如:我们需要自定义填充一些属性,updateDate. ...
- Linux虚拟机追加扩展磁盘
一.使用VMware给虚拟机追加磁盘 使用VMware打开虚拟机设置对话框,选择硬盘,点击右侧的扩展按钮,输入扩展后的磁盘容量. 点击扩展按钮.提示磁盘已成功扩展. 二.对闲置的空间进行分区 上面扩展 ...
- SUM和IF使用求部分和
GROUP BY可以按照某一列的不同值进行分组,然后将不同组的数据可以利用聚合函数进行汇总取值. --我们可以在老师表里面求解不同班级的老师分别有多少名 SELECT class_id,COUNT(t ...
- Java注解支持的类型
我们经常会自定义注解,自定义注解时,可能会需要定义各种数据类型,但是自定义注解可以包含哪些数据类型,是存在限制的. 主要有如下几种: A primitive type : 基本类型(java的八种基本 ...
- Spring Boot 参数校验注解(自整理,不停的测试更新)
首先我们只使用java官方的 javax.validation.constraints ,足以使用了,不使用spring boot 自身的,自身的与官方的一致,可能会有扩展,但是还得引入包,麻烦,只用 ...
- Linux-使用cat查看文件后出现乱码,整个终端显示包括shell提示符都是乱码
问题描述:在bash下用cat显示二进制文件后会出现乱码,整个终端显示包括shell提示符都是乱码,这个跟语言环境无关. 解决办法: 恢复的话,大致有以下几种方法:方法一:盲打输入echo -e '\ ...