Solo pasarela de API de DataPower

Habilitación del punto final de coste para una API de GraphQL

Si habilita el punto final /graphql/cost al crear una API de proxy de GraphQL, una aplicación de llamada puede obtener detalles del coste de ejecutar una solicitud en el servidor GraphQL de fondo antes de realizar la solicitud de fondo real.

El coste no hace referencia únicamente al coste monetario, sino que puede tener en cuenta factores como el tiempo de cálculo, el consumo de memoria y otros factores de este tipo, además de los costes financieros reales asociados con, por ejemplo, el uso de sistemas de terceros para recuperar datos.

En un entorno de producción, en particular, debe considerar cuidadosamente las implicaciones que tendrá sobre los recursos hacer que esta ruta esté disponible. Sin embargo, tenga en cuenta que la habilitación del punto final /graphql/cost genera automáticamente la configuración de políticas en el ensamblaje de API que sería necesario que crear manualmente si inhabilita esta opción y posteriormente decide que es necesaria; consulte la sección Políticas de ensamblaje de API para el punto final de coste para conocer los detalles.

Políticas de ensamblaje de API para el punto final de coste

Esta sección detalla la configuración de políticas de ensamblaje de API que se genera automáticamente si se selecciona la vía de acceso de operación /graphql/cost cuando se crea una API de proxy de GraphQL. Si no se selecciona la vía de acceso durante la creación y posteriormente decide que desea habilitarla, deberá añadirla manualmente al ensamblaje de API.

Se añade un case a una política switch con la condición siguiente:
($operationPath() = '/graphql/cost' and message.attributes.parse.GraphQLIntrospection = 'not-introspection')
Si la condición es verdadera, las políticas siguientes se ejecutan en secuencia, con los valores de propiedad indicados:
Límite de velocidad
Propiedad Valor
Origen Plan por nombre
Nombre de límite de velocidad graphql-design-request
Operación Consume
Validar
Propiedad Valor
Entrada message
Salida Sin valor, el valor predeterminado es input
Validar contra GraphQL
Establecer variable
Propiedad Valor
Acción Set
Set message.body
Tipo any
Valor $(message.attributes.graphql)
La configuración generada automáticamente, tal como aparece en la interfaz de usuario de ensamblaje, es la siguiente:
Captura de pantalla que muestra la configuración de ensamblaje para el punto final de coste