从Account.getVirtualGuests()获取500内部服务器错误

时间:2016-06-30 19:05:24

标签: ibm-cloud-infrastructure

过去一年半的时间里,我一直在使用特定的方法从我们的帐户加载虚拟客人。在过去一周的某个时候,它破了。以下代码(使用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最近被打破,因为这已经工作了很长时间。

1 个答案:

答案 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