首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache-ranger python库JSONDecoder错误

Apache-ranger python库JSONDecoder错误
EN

Stack Overflow用户
提问于 2022-03-10 08:29:35
回答 1查看 52关注 0票数 0

因此,我试图使用ranger客户端创建一个策略,这是我的代码(为安全目的编辑机密信息)。

代码语言:javascript
复制
from apache_ranger.model.ranger_service import *
from apache_ranger.client.ranger_client import *
from apache_ranger.model.ranger_policy  import *


ranger_url  = 'http://************.com:***'
ranger_auth = ('**********', '**********')

ranger = RangerClient(ranger_url, ranger_auth)

policy           = RangerPolicy()
policy.service   = 'starburst-enterprise'
policy.name      = 'test_policy'
policy.resources = { 'database': RangerPolicyResource({ 'values': ['hive'] }),
                     'table':    RangerPolicyResource({ 'values': ['uber_rides'] }),
                     'column':   RangerPolicyResource({ 'values': ['*'] }) }

allowItem1          = RangerPolicyItem()
allowItem1.groups   = [ 'Data Product Owner' ]
allowItem1.accesses = [ RangerPolicyItemAccess({ 'type': 'select' }) ]

denyItem1          = RangerPolicyItem()
denyItem1.groups    = [ 'Data Product Owner' ]
denyItem1.accesses = [ RangerPolicyItemAccess({ 'type': 'drop' }) ]

policy.policyItems     = [ allowItem1 ]
policy.denyPolicyItems = [ denyItem1 ]

print('Creating policy: name=' + policy.name)

created_policy = ranger.create_policy(policy)

print('    created policy: name=' + created_policy.name + ', id=' + str(created_policy.id))

但是我收到了这个错误,当我尝试调试它时,我发现,它之所以会出现异常,是因为ranger_clien.py中的ranger_clien.py方法返回了一个响应(),该响应没有被任何if或elifs块处理,因此它进入了RaiseServiceException()块,当我深入挖掘时,我在函数中发现了一些给JSONDecoder错误的注释,它说只有当JSON输入无效或者没有安装simplejson时,才会引发异常。

代码语言:javascript
复制
Traceback (most recent call last):
  File "c:\Users\j.shimoga.prakash\Desktop\pls work - Copy\test.py", line 37, in <module>
    created_policy = ranger.create_policy(policy)
  File "C:\Users\j.shimoga.prakash\Desktop\pls work - Copy\venv\lib\site-packages\apache_ranger\client\ranger_client.py", line 124, in create_policy
    resp = self.__call_api(RangerClient.CREATE_POLICY, params, policy)
  File "C:\Users\j.shimoga.prakash\Desktop\pls work - Copy\venv\lib\site-packages\apache_ranger\client\ranger_client.py",  
  File "C:\Users\j.shimoga.prakash\Desktop\pls work - Copy\venv\lib\site-packages\simplejson\decoder.py", line 400, in raw_decode
    return self.scan_once(s, idx=_w(s, idx).end())simplejson.errors.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-05-07 06:59:12

我只需要在ranger_url中传递'https‘而不是'http’就知道了

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71420957

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档