結果を得るための次のAPIがあります。res
これは res
辞書タイプです。
res = api_req.ambari_request("/api/v1/clusters/HDP/host_components?HostRoles/component_name=NAMENODE&metrics/dfs/FSNamesystem/HAState=active")
辞書はres
次のとおりです。
。 。
"display_name": "NameNode",
"init_count": 0,
"install_failed_count": 0,
"installed_count": 0,
"recovery_enabled": "true",
"repository_state": "CURRENT",
"service_name": "HDFS",
"started_count": 2,
"state": "STARTED",
"total_count": 2,
"unknown_count": 0
},
辞書のすべてがstarted_count
同じであることを確認する必要があります。2
このテストに適した方法を見つけていただきありがとうございます
答え1
Python辞書の値は、取得したい値に対応するキーである文字列が与えられたら、下付き文字演算子[]を使用してアクセスできます。これは "started_count"キーに関連付けられた値を取得します。
api_data = {
"display_name": "NameNode",
"init_count": 0,
"install_failed_count": 0,
"installed_count": 0,
"recovery_enabled": "true",
"repository_state": "CURRENT",
"service_name": "HDFS",
"started_count": 2,
"state": "STARTED",
"total_count": 2,
"unknown_count": 0
}
if api_data["started_count"] == 2:
print("started_count is 2")
else:
print("started_count is not 2")