开发者社区> 问答> 正文

【已解决】RDS用pythonapi修改白名单报NoJSONobjectcouldbedecoded问题

使用RDS 的python SDK开发程序,用来修改实例白名单,报NoJSONobjectcouldbedecoded问题。

change_list_request = aliyun.api.Rds20140815ModifySecurityIpsRequest()
change_list_request.DBInstanceId = rds_id
rds_auth_ip = list(white_list) + list(rds_extra_ip)
rds_auth_str = ','.join(rds_auth_ip)
change_list_request.SecurityIps = rds_auth_str

try:
     response = change_list_request.getResponse()
     # print "response type: %s, response: \n%s\n" % (type(response), response)
except Exception,e:                                                                                                      
     print Exception,":",e
     sys.exit(1)

按照API(docs.aliyun.com/?spm=5176.100054.3.3.CZBJh3#/pub/rds/open-api/instance-interface&ModifySecurityIps)指导IP以逗号隔开,最多100个形成string串,附带入请求中。结果203个IP分别用3个请求发送后发现,最后实例白名单中只有最后一次请求的3个IP。

如果一次请求附带全部203个IP,SDK的接口会抛出异常(<type 'exceptions.Exception'>  No JSON object could be decoded)。


注:1.附带少量IP形成的字串时请求正常,白名单也能修改。
       2.两次请求分别附带少于100个IP的字串后,目标实例的白名单仍然只有最后一次请求的附带的IP。(被覆盖了)


如何能让203个IP全部写入实例白名单?

展开
收起
gangbo 2015-08-13 13:39:50 8072 0
1 条回答
写回答
取消 提交回答
  • ReRDS用pythonapi修改白名单问题
    问题修复

    原因可能是原url长度过长,被阿里设备过滤了,导致请求的接口没有返回。

    按照阿里工程师指导修改SDK代码后正常。


    -------------------------

    Re【已解决】RDS用pythonapi修改白名单报NoJSONobjectcouldbedecoded问题
    修改SDK后一次请求即可完成203个IP加入白名单(无需按照文档不多于100个IP),更多IP列表的情况后面再测试。
    2015-08-13 22:04:03
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
One Box: 解读事务与分析一体化数据库 HybridDB for MySQL 立即下载
One Box:解读事务与分析一体化数据库HybridDB for MySQL 立即下载
如何支撑HTAP场景-HybridDB for MySQL系统架构和技术演进 立即下载

相关镜像