Wenn ich einen SoftLayer_Billing_Item durch die Strato-API, wie in der folgenden REST-API abrufen Anruf erhalten:Softlayer API SoftLayer_Billing_Item gibt resourceTableId Eigenschaft, die in der Dokumentation nicht definiert ist
https://api.softlayer.com/rest/v3/SoftLayer_Billing_Item/151376733
Das Ergebnis enthält alle lokalen Eigenschaften definiert in die SoftLayer Referenzdokumentation. http://sldn.softlayer.com/reference/datatypes/SoftLayer_Billing_Item
Das Ergebnis gibt auch eine Eigenschaft namens resourceTableId zurück, die nicht in der Dokumentation aufgeführt ist. Der resourceTableId Wert für das Element über die Abrechnung ist 28467033.
Wenn ich die resourceTableId Wert in einem virtuellen Gast-API REST Aufruf verwenden, zB
https://api.softlayer.com/rest/v3/SoftLayer_Virtual_Guest/28467033
ich die Details der Ressource erhalten, die die Abrechnung erzeugt Artikel. Ich habe andere Beispiele einschließlich Hardware-Beispiele versucht und alle haben gut funktioniert. Es ist eine gute Möglichkeit, das Rechnungselement wieder an das zu binden, was es generiert hat.
Ich erhalte jedoch einen Fehler, wenn ich die ResourceTableId -Eigenschaft in eine ObjektMask-Anfrage einbinden. Die Antwort besagt, dass resourceTableId keine Eigenschaft ist.
Hier ist ein Beispiel für die Abfrage von SoftLayer_Billing_Item mit einer Maske.
https://api.softlayer.com/rest/v3/SoftLayer_Billing_Item/151376733?objectMask=mask[id,hostName,domainName,resourceTableId]
kommt zurück mit
{
"error": "Property 'resourceTableId' not valid for 'SoftLayer_Billing_Item'.",
"code": "SoftLayer_Exception_WebService_ObjectMask"
}
Gibt es eine Möglichkeit, die resourceTableId in einem objectMask Anfrage aufzunehmen?
Gibt es eine Möglichkeit, vom Fakturierungselement zur Ressource zu gelangen? Oder besteht die einzige Möglichkeit darin, von der Ressource zum Fakturierungselement zu wechseln? Ich möchte die Top-Level-Rechnungen basierend auf einem Datumsbereich abrufen und dann für jede Fakturaposition die zugehörige Ressource abrufen. Ich habe es heute geschafft, ohne es mit der Ressource zu verbinden. Ich hatte gehofft, die resourceTableId dafür zu nutzen, aber ich möchte mich nicht auf etwas verlassen, das vielleicht weggeht. –
Der einzige Weg ist von der Resoure zur Abrechnungsposition, und das macht Sinn, wenn die Ressource gelöscht wird, wird dies aus der Datenbank gelöscht und bleibt nur die Abrechnungsposition, wenn Sie den Zugriff von einer stornierten Abrechnungsposition auf die Ressource versuchen würden wird Null Pointer Errrors bekommen. –