过去一年半的时间里,我一直在使用特定的方法从我们的帐户加载虚拟客人。在过去一周的某个时候,它破了。以下代码(使用ruby gem 3.1.1)返回500内部服务器错误:
softlayer_client = SoftLayer::Client.new()
obj_svc = softlayer_client['Account']
obj_svc = obj_svc.object_mask('mask[ id,tagReferences ]')
result = obj_svc.getVirtualGuests()
result.each do |pre_obj|
puts pre_obj.inspect
end
但这不是:
softlayer_client = SoftLayer::Client.new()
obj_svc = obj_svc.object_mask('mask[ id ]')
result = obj_svc.getVirtualGuests()
result.each do |pre_obj|
puts pre_obj.inspect
end
似乎tagReferences最近被打破,因为这已经工作了很长时间。
答案 0 :(得分:0)
我已经审核了您的第一个代码块,它运行正常。然而,您遇到的问题可能是由于方法返回的对象数量,虚拟客户或标记对象。这可以使用result_limit(OFFSET,LIMIT)来避免,如下一个示例所示:
OFFSET = 0
LIMIT = 5
USERNAME = 'set me'
API_KEY = 'set me'
softlayer_client = SoftLayer::Client.new(username: USERNAME, api_key: API_KEY)
obj_svc = softlayer_client['Account']
obj_svc = obj_svc.object_mask('mask[ id,tagReferences ]')
obj_svc = obj_svc.result_limit(OFFSET, LIMIT)
result = obj_svc.getVirtualGuests()
result.each do |pre_obj|
puts pre_obj.inspect
end
如果它没有解决您的问题,请尝试下载最新的softlayer ruby客户端gem(即3.2.1)
您也可以查看下一个链接:
https://sldn.softlayer.com/blog/phil/How-Solve-Error-fetching-http-headers