Python で kazoo ライブラリを使用しているため、Python と Zookeeper を使用しています。この質問は、Zookeeper や kazoo ライブラリに関するものではありません。これは主にPythonに関連していると思います。
以下は私の2つの変数です-
new_error_str = "Error occurred on machine %s in datacenter %s on the %s of process %s" % (host_info, local_dc, step, process_name)
new_error_key = "error_%s" % (timestamp_in_ms)
次に、これら 2 つの変数を使用してバイト json 文字列を作成し、その json 文字列をデータとして Zookeeper ノードに書き込む必要があるため、ノードを作成してデータを書き込む構文を以下に示します。
zk.create(date_znode_path, b'{"'+new_error_key+'":"' + new_error_str + '"}', None, True)
どういうわけか、上記の行は次のように例外をスローします-
TypeError: value must be a byte string
私がここで何を間違っていると思いますか?上記の変数の JSON 文字列を作成しようとしています。
カズーライブラリの詳細はこちら
アップデート:-
この構文を使用すると、正常に動作します-
b'{"hostname":"' + get_hostname() + '"}', None, True)
私はこのようなデータを見ることができます -
{"hostname":"machineA"}