api - ObjectFilter en SoftLayer no funciona
(2)
Encuentro que ObjectFilter no funciona en SoftLayer.
Incluso probé el ejemplo proporcionado en la página web de SoftLayer aquí:
https://sldn.softlayer.com/article/object-filters
DESCANSO:
Listar la ID y el hostname
de hostname
de todos los servidores en dal05
https://api.softlayer.com/rest/v3/SoftLayer_Account/getVirtualGuests?objectMask=mask[id,hostname]&objectFilter={"datacenter":{"name":{"operation":"dal05"}}}
Cuando ejecuté este comando, todavía devuelve todos los invitados virtuales, independientemente de a qué centro de datos pertenezca el invitado virtual.
Tal vez puedas intentar agregar virtualGuests
en el filtro, algo como esto:
objectFilter={ "virtualGuests": { "datacenter": { "longName": { "operation": "Dallas 6" } } } }
o vea los primeros ejemplos de https://sldn.softlayer.com/article/object-filters , como este:
object_filter = {
''virtualGuests'': {
''datacenter'': {
''name'': {''operation'': ''dal05''}
}
}
}
prueba esta solicitud:
GET https://api.softlayer.com/rest/v3/SoftLayer_Account/getVirtualGuests?objectMask=mask[id,hostname,datacenter]&objectFilter={"virtualGuests":{"datacenter":{"name":{"operation":"dal05"}}}}
El problema con su solicitud es que le falta la propiedad "virtualGuests", tenga en cuenta que objectFilter se está filtrando a través de los datos en la base de datos, por lo que necesita contar sobre qué tabla funciona y sobre qué registro de la tabla funciona. por ejemplo, usando la "Cuenta SoftLayer_" que implica que todo el trabajo estará sobre la tabla "Cuenta_de_tabla_de_temporal" ahora necesita decirle a la ID sobre qué propiedad / registro de esa tabla funciona, en este caso debe trabajar sobre las "Invitaciones virtuales", etc. . Tenga en cuenta que revisa la documentación sobre las propiedades / registros válidos, por ejemplo, estas son las propiedades / registros válidos para Softlayer_Account:
http://sldn.softlayer.com/reference/datatypes/SoftLayer_Account
Saludos