當我通過SoftLayer的API爲以下REST API中檢索SoftLayer_Billing_Item GET調用resourceTableId屬性:的SoftLayer API SoftLayer_Billing_Item返回其未在文檔中定義
https://api.softlayer.com/rest/v3/SoftLayer_Billing_Item/151376733
結果包含中定義的所有的局部性質SoftLayer參考文檔。 http://sldn.softlayer.com/reference/datatypes/SoftLayer_Billing_Item
結果還會返回一個名爲resourceTableId的屬性,該屬性未在文檔中列出。 以上爲計費項目的resourceTableId值是28467033.
如果我使用的是在一個虛擬客戶API REST調用resourceTableId值,例如,
https://api.softlayer.com/rest/v3/SoftLayer_Virtual_Guest/28467033
我得到生成計費資源的細節項目。我已經嘗試過其他的例子,包括硬件例子,並且都運行良好。將結算項目與生成項目相關聯是一種很好的方法。
但是,我將resourceTableId屬性包含在objectMask請求中時出現錯誤。響應說resourceTableId不是一個屬性。
下面是一個用掩碼查詢SoftLayer_Billing_Item的示例。
https://api.softlayer.com/rest/v3/SoftLayer_Billing_Item/151376733?objectMask=mask[id,hostName,domainName,resourceTableId]
回來了
{
"error": "Property 'resourceTableId' not valid for 'SoftLayer_Billing_Item'.",
"code": "SoftLayer_Exception_WebService_ObjectMask"
}
有沒有一種辦法,包括在objectMask請求resourceTableId?
有沒有辦法從開票項目到資源?或者唯一的選擇是從資源轉到結算項目?我期望的是獲取基於日期範圍的頂級發票,然後爲每個發票項目獲取相關資源。今天我沒有把它與資源聯繫起來。我希望能夠爲此使用resourceTableId,但不想依賴可能消失的東西。 –
唯一的辦法是從資源到結算項目,這是有道理的,因爲當資源被取消時,它將從數據庫中刪除,並且只保留結算項目,如果您嘗試從取消的結算項目訪問資源將得到空指針錯誤。 –