我想使用kazoo客户端在Python的节点的所有子节点上添加监视,但ChildrenWatch
只监视子级添加或删除不用于任何子节点的数据更新.我正在寻找一个完成这项任务的简单食谱.
示例代码将是这样的
from kazoo.client import KazooClient
zk = KazooClient(hosts='127.0.0.1:2181')
zk.start()
@zk.SomeRecipe("/root")
def watch_children_update(event):
print("Updated child at path:%s data:%s stat:%s" % event.path, event.data, event.stat)
Run Code Online (Sandbox Code Playgroud) 我想使用urllib3
库来通过库发出 POST 请求,requests
因为它具有连接池和重试等功能。但我找不到以下POST
请求的替代品。
import requests
result = requests.post("http://myhost:8000/api/v1/edges", json={'node_id1':"VLTTKeV-ixhcGgq53", 'node_id2':"VLTTKeV-ixhcGgq51", 'type': 1 })
Run Code Online (Sandbox Code Playgroud)
这在requests
库中运行良好,但我无法将其转换为urllib3
请求。我试过
import json
import urllib3
urllib3.PoolManager().request("POST","http://myhost:8000/api/v1/edges", body=json.dumps(dict(json={'node_id1':"VLTTKeV-ixhcGgq53", 'node_id2':"VLTTKeV-ixhcGgq51", 'type': 1 })))
Run Code Online (Sandbox Code Playgroud)
问题是json
在POST
请求中使用as 键传递原始 json 数据。