我正在开发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=true
,meta
字段返回None
。如何使用python客户端设置任何示例?或者用其他方法检查记录是否已成功插入?
您可以从JSON中提取所有键,并为每个键组装一个(namespace, json-set, json-key)
元组(我的意思是使用每个JSON对象的set
和key
字段(。然后,您可以使用aerospike.Client.exists_many
来使用批读取操作验证密钥的存在。
即使您没有存储人类可读的密钥(这是默认行为,您可能不想花费额外的存储空间(,每条记录都有一个唯一的20B摘要。该摘要是在客户端中通过对上述3元组的集合和主键部分进行哈希来创建的。当你检查是否存在时,客户端会再次对你给它的密钥进行散列,得到相同的摘要,并检查它们的存在。