当前位置: 首页 > 知识库问答 >
问题:

如何解决aws密钥空间中“范围删除请求在单个范围内可删除的项目数上受到限制”的问题?

董高洁
2023-03-14

我将Aws键空间与C#一起使用,首先我选择要按分区键删除的表,然后尝试使用where子句从表中删除许多行:

 var daysToDelete = DateTimeOffset.UtcNow.AddDays(-1);
     foreach (var result in selectResult)
                {
                    Cql deleteQuery = new Cql("WHERE interfaceid = ? and environment = ? and transactionguid < ?", 
                    result .InterfaceId,
                    result .Environment,
                    TimeUuid.Min(daysToDelete)).WithOptions(o => o.SetPageSize(100));
                    mapper.Delete<Transaction>(deleteQuery);
                }

大约有3k-6k行,当我试图删除这些行时,我得到一个错误:

“范围删除请求限制在单个范围内可删除的项目数”

我该如何解决这个问题呢?

共有1个答案

彭鸿文
2023-03-14

这是AWS键空间的一个已知限制。一个可能的解决办法是:

  • 选择transactionguid(其中interfaceid=)吗?和环境=?和transactionguid<?
  • 在跨越“千”、“两千”等边界时,使用TransactionGUID迭代结果。
  • 遍历记住的边界,执行delete

附注。为什么不使用更兼容的cloud Cassandra,比如DataStax Astra,或者类似的东西呢?AWS键空间不是真正的Cassandra,所以您总是需要自己处理限制。

 类似资料:
  • 本文向大家介绍在Python中删除范围内的元素,包括了在Python中删除范围内的元素的使用技巧和注意事项,需要的朋友参考一下 通过使用元素的索引和del函数,可以直接从python删除单个元素。但是在某些情况下,我们需要删除一组索引的元素。本文探讨了仅删除索引列表中指定的列表中那些元素的方法。 使用排序和删除 在这种方法中,我们创建一个包含必须删除的索引值的列表。我们对它们进行排序和反转以保留列

  • 用途:我有一个零件列表,每个工作都有变化。 我的每个part#都有3行,这就是为什么我运行“entirerow.delete”3次。 这就是我现在拥有的。

  • 我在Word文档中突出显示了段落,我必须从每个段落的第3到第5个字符中删除突出显示。 通过搜索集合r=ActiveDocument中突出显示的范围。在VBA中,可以完美地找到文本段。 错误出现在。 编译错误:参数数量错误或无效的属性分配。 danI如何在范围内正确指定第3到第5个字符的子范围?谢谢你的帮助。

  • 问题内容: 是否有删除范围的有效方法-说的尾巴-从X的元素,如在Java中? 显然有可能一个接一个地删除最后一个元素,这将导致O(X)级性能。至少在某些情况下,应该具有O(1)性能(通过在要删除的第一个元素周围设置参考并设置头/尾参考)。不幸的是,我看不到任何方法或一次全部删除最后一个元素。 目前,我正在考虑通过使用 替换 列表,但是不确定是否具有相同的性能。至少在代码中它会更清楚,另一方面,我会

  • 假设我有一个范围(section)和一个额外的要排除的范围列表,由元组(start,end)表示: 我正在寻找一种有效的算法,从这两个输入中返回一个新的范围列表,如: 这是引出第二个范围列表的主范围。 谢啦! 编辑: 实际上,deceze关于使用intervaltree的建议似乎很有趣。有几行: 显然,间隔被视为已关闭,但这是一个小问题。

  • 作为一个Vue.js的初学者,我有一个看起来像这样的组件: “data.artist.name”在传递给数据道具的对象中存在且正确。但是我怎样才能摆脱关于嵌套艺术家名称的警告呢? [Vue warn]:计算表达式“data.artist.name”时出错:类型错误:scope.data.artist未定义(在组件中找到): 埃塔:啊,对不起,是的,显示“数据”会有帮助: {“id”:23182,“