2016-05-11 2 views
0

Мы используем Python 2.7 и пакет Python Softlayer 3.0.1 и вызываем метод get_records класса DNSManager. Это в настоящее время возвращая Internal Server ошибку:Внутренняя ошибка, возвращаемая из Softlayer DNSManager API

2016-05-11T11:18:04.117406199Z Traceback (most recent call last): 
2016-05-11T11:18:04.117715505Z File "/opt/**/**/***.py", line 745, in <module> 
2016-05-11T11:18:04.117927757Z httpDnsRecords = dnsManager.get_records(httpDomainRecordId, data=dataspace, type="cname") 
2016-05-11T11:18:04.118072183Z File "/usr/local/lib/python2.7/dist-packages/SoftLayer/managers/dns.py", line 152, in get_records 
2016-05-11T11:18:04.118152705Z filter=_filter.to_dict(), 
2016-05-11T11:18:04.118302389Z File "/usr/local/lib/python2.7/dist-packages/SoftLayer/API.py", line 347, in call_handler 
2016-05-11T11:18:04.118398852Z return self(name, *args, **kwargs) 
2016-05-11T11:18:04.118512777Z File "/usr/local/lib/python2.7/dist-packages/SoftLayer/API.py", line 316, in call 
2016-05-11T11:18:04.118632422Z return self.client.call(self.name, name, *args, **kwargs) 
2016-05-11T11:18:04.118814604Z File "/usr/local/lib/python2.7/dist-packages/SoftLayer/API.py", line 176, in call 
2016-05-11T11:18:04.118907953Z timeout=self.timeout) 
2016-05-11T11:18:04.118995360Z File "/usr/local/lib/python2.7/dist-packages/SoftLayer/transports.py", line 64, in make_xml_rpc_api_call 
2016-05-11T11:18:04.119096993Z e.faultCode, e.faultString) 
2016-05-11T11:18:04.119547899Z SoftLayer.exceptions.SoftLayerAPIError: SoftLayerAPIError(SOAP-ENV:Server): Internal Error 

httpDomainRecordId является Id для домена, полученного из Softlayer и DataSpace является строка «ик».

Кто-нибудь знает, почему это будет возвращать Internal Error с сервера?

ответ

0

Вероятно, ошибка происходит из-ответ содержит большое количество данных, то эта ошибка документируется here, так что вы можете попробовать:

1.- Увеличение времени ожидания в клиенте.

2.- Добавить несколько фильтров в запросе на limmit результат, в настоящее время вы используете datqa и типа попробуйте добавить хост или ТТЛ

3.- вы можете попытаться использовать ограничения, но менеджер не дает такой вариант , поэтому вам нужно использовать вызовы API, например.

import SoftLayer 

client = SoftLayer.Client() 

zoneId = 12345 

objectMask = "id,expire,domainId,host,minimum,refresh,retry, mxPriority,ttl,type,data,responsiblePerson" 

result = client['Dns_Domain'].getResourceRecords(id=zoneId, mask=objectMask, limit=200, offset=0) 

print (result) 
+0

Спасибо. проблема заключалась в том, что объем данных был большим, и поэтому время на сервере было отключено. Используя образец кода, установите ограничения, которые были с этим связаны. – whitfiea