使用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全部写入实例白名单?
-------------------------
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。