我无法将object_mask应用于我正在检索的数据。以下是我正在做的事情的片段:
client = SoftLayer::Client.new(<...hidden...>)
<BREAK>
if (item["hostName"])
machines = SoftLayer::BareMetalServer.find_servers({ :client => client, :hostname => item["hostName"], :object_mask => "[id,hostname,tagReferences]"})
machines.each do |machine|
pp machine
end
end
当我打印&#34;机器&#34;它仍在打印所有字段。提前感谢您的帮助。
$ ruby -v
ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-linux]
答案 0 :(得分:1)
我无法使用带有“BareMetalServer.find_servers”的掩码获取特定项目,但下面是另一个可以帮助您的红宝石示例:
timeScale.tickFormat()
<强>参考文献:强>
require 'rubygems'
require 'softlayer_api'
# Your SoftLayer API username.
SL_API_USERNAME = 'set me'
# Your SoftLayer API key.
SL_API_KEY = 'set me'
softlayer_client = SoftLayer::Client.new(:username => SL_API_USERNAME,
:api_key => SL_API_KEY)
account_service = softlayer_client.service_named('SoftLayer_Account')
# Create an object mask to get more information than by default
mask = 'mask[id,hostname]'
begin
result = account_service.object_mask(mask).getHardware
puts 'Process finished successfully'
p result
rescue Exception => e
raise e
end
答案 1 :(得分:0)
目前,方法find_servers的ojectMask不限制字段,它会将对象掩码的字段添加到结果中。
如果您需要限制字段,可以使用“map”创建一个只包含您感兴趣的字段的数组。