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.
case a una política switch con la condición siguiente:($operationPath() = '/graphql/cost' and message.attributes.parse.GraphQLIntrospection = 'not-introspection')- 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)
