Aerospike python客户端:检查记录是否成功存储在集群上



我正在开发Aerospike python客户端。我正在使用充气式装载机将数据插入集群。现在我需要看看这些记录是否成功地存储在集群上。

正在使用的命令:

command = 'java -cp /aerospike-loader/aerospike-load-2.2-jar-with-dependencies.jar ' 
'-Dlog4j.configuration=file:/aerospike-loader/log4j.properties ' 
'com.aerospike.load.AerospikeLoad -h %s -p %d -n %s -c %s %s'
command_str = command % (self.host, self.port, self.namespace, tmp_json_file.name, data_file_path)

文件CCD_ 1包含与以下内容完全相似的配置文件内容:https://www.aerospike.com/docs/tools/asloader/examples.html

现在,我该如何检查数据是否已成功传输?我尝试使用client.exists(key),但由于未设置writePolicy=truemeta字段返回None。如何使用python客户端设置任何示例?或者用其他方法检查记录是否已成功插入?

您可以从JSON中提取所有键,并为每个键组装一个(namespace, json-set, json-key)元组(我的意思是使用每个JSON对象的setkey字段(。然后,您可以使用aerospike.Client.exists_many来使用批读取操作验证密钥的存在。

即使您没有存储人类可读的密钥(这是默认行为,您可能不想花费额外的存储空间(,每条记录都有一个唯一的20B摘要。该摘要是在客户端中通过对上述3元组的集合和主键部分进行哈希来创建的。当你检查是否存在时,客户端会再次对你给它的密钥进行散列,得到相同的摘要,并检查它们的存在。

相关内容

  • 没有找到相关文章

最新更新