결과를 얻기 위한 다음 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")