Python 对Cloudera Manager ApiResource使用加密密码,而不是明文密码
我尝试在python脚本中使用加密密码,以便使用Cloudera Manager API进行Cloudera备份灾难恢复 是我尝试运行的BDR脚本(创建复制代码): 当我硬编码密码时Python 对Cloudera Manager ApiResource使用加密密码,而不是明文密码,python,html,cloudera,Python,Html,Cloudera,我尝试在python脚本中使用加密密码,以便使用Cloudera Manager API进行Cloudera备份灾难恢复 是我尝试运行的BDR脚本(创建复制代码): 当我硬编码密码时 (ApiResource(server_host="hostname",username="ugsk187",password="xyz",version=14,use_tls=True)), (ApiResource(server_host="hostname",username="ugsk187",pas
(ApiResource(server_host="hostname",username="ugsk187",password="xyz",version=14,use_tls=True)),
(ApiResource(server_host="hostname",username="ugsk187",password=var_passwprd,version=14,use_tls=True)),
它正在工作。
但是当我试图分配给一个变量(var_passwprd=“xyz”),然后将该变量传递给密码时
(ApiResource(server_host="hostname",username="ugsk187",password="xyz",version=14,use_tls=True)),
(ApiResource(server_host="hostname",username="ugsk187",password=var_passwprd,version=14,use_tls=True)),
下面是一个错误:
Traceback (most recent call last):
File "test2.py", line 41, in <module>
target_cluster = target_api.get_cluster('QA')
File "/opt/pythonvirtual/bdr/lib/python2.7/site-
packages/cm_api/api_client.py", line 140, in get_cluster
return clusters.get_cluster(self, name)
File "/opt/pythonvirtual/bdr/lib/python2.7/site-
packages/cm_api/endpoints/clusters.py", line 57, in get_cluster
return call(resource_root.get, "%s/%s" % (CLUSTERS_PATH, name), ApiCluster)
File "/opt/pythonvirtual/bdr/lib/python2.7/site-
packages/cm_api/endpoints/types.py", line 139, in call
ret = method(path, params=params)
File "/opt/pythonvirtual/bdr/lib/python2.7/site-
packages/cm_api/resource.py", line 110, in get
return self.invoke("GET", relpath, params)
File "/opt/pythonvirtual/bdr/lib/python2.7/site-
packages/cm_api/resource.py", line 73, in invoke
headers=headers)
File "/opt/pythonvirtual/bdr/lib/python2.7/site-
packages/cm_api/http_client.py", line 183, in execute
raise self._exc_class(ex)
cm_api.api_client.ApiException: <html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
<title>Error 401 Bad credentials</title>
</head>
<body><h2>HTTP ERROR 401</h2>
<p>Problem accessing /api/v16/clusters/QA. Reason:
<pre> Bad credentials</pre></p><hr /><i><small>Powered by
Jetty://</small></i><br/>
<br/>
<br/>
</body>
</html>
(error 401)
回溯(最近一次呼叫最后一次):
文件“test2.py”,第41行,在
target\u cluster=target\u api.get\u cluster('QA'))
文件“/opt/pythonvirtual/bdr/lib/python2.7/site-
包/cm_api/api_client.py”,第140行,在get_集群中
返回集群。获取集群(self,name)
文件“/opt/pythonvirtual/bdr/lib/python2.7/site-
packages/cm_api/endpoints/clusters.py”,第57行,在get_集群中
返回调用(resource\u root.get,“%s/%s”%(集群路径、名称),ApiCluster)
文件“/opt/pythonvirtual/bdr/lib/python2.7/site-
packages/cm_api/endpoints/types.py”,第139行,在调用中
ret=方法(路径,参数=参数)
文件“/opt/pythonvirtual/bdr/lib/python2.7/site-
packages/cm_api/resource.py”,第110行,在get中
返回self.invoke(“GET”、relpath、params)
文件“/opt/pythonvirtual/bdr/lib/python2.7/site-
packages/cm_api/resource.py”,第73行,在invoke中
页眉=页眉)
文件“/opt/pythonvirtual/bdr/lib/python2.7/site-
packages/cm_api/http_client.py”,执行中的第183行
自我提升。exc课程(ex)
cm_api.api_client.api异常:
错误401错误凭据
HTTP错误401
访问/api/v16/clusters/QA时出现问题。原因:
错误的凭据
由
码头://
(错误401)
StackOverflow对只使用链接非常挑剔。考虑将代码直接粘贴到这个帖子中。添加了python脚本的代码,我试图与链接一起运行。