Kostenendpunkt für eine GraphQL-API aktivieren
Wenn Sie den Endpunkt /graphql/cost beim Erstellen einer GraphQL-Proxy-API aktivieren, kann eine
aufrufende Anwendung Details zu den Kosten für die Ausführung einer Anforderung auf dem Back-End-GraphQL-Server abrufen, bevor
die tatsächliche Back-End-Anforderung gesendet wird.
Die Kosten
beziehen sich nicht nur auf die rein finanziellen Kosten, sondern können Faktoren wie Rechenzeit,
Speicherbedarf und andere Faktoren berücksichtigen, und zwar zusätzlich zu den tatsächlichen finanziellen Kosten, die z. B. für
die Verwendung von Systemen anderer Anbieter zum Abrufen von Daten anfallen.
Vor allem in einer Produktionsumgebung sollten Sie sorgfältig die Auswirkungen auf die Ressourcen berücksichtigen, die sich
aus der Bereitstellung dieses Pfads ergeben. Beachten Sie jedoch, dass die Aktivierung des Endpunkts /graphql/cost automatisch eine Richtlinienkonfiguration in Ihrer API-Assembly generiert, die manuell erstellt werden muss, wenn Sie diese Option inaktivieren und später entscheiden, dass sie erforderlich ist. Weitere Informationen finden Sie im Abschnitt API-Assembly-Richtlinien für den Kostenendpunkt .
API-Assemblyrichtlinien für den Kostenendpunkt
In diesem Abschnitt wird die Konfiguration der API-Assemblyrichtlinie beschrieben, die automatisch generiert wird, wenn der
Operationspfad /graphql/cost ausgewählt wird, wenn eine GraphQL-Proxy-API erstellt wird. Wenn der Pfad bei der
Erstellung nicht ausgewählt wird und Sie später entscheiden, dass Sie ihn aktivieren möchten, müssen Sie ihn manuell zur
API-Assembly hinzufügen.
case) mit der folgenden Bedingung wird zu einer switch-Richtlinie hinzugefügt:($operationPath() = '/graphql/cost' and message.attributes.parse.GraphQLIntrospection = 'not-introspection')- Ratenbegrenzung
Eigenschaft Wert Quelle Plan nach Name Name der Ratenbegrenzung graphql-design-request Operation Verarbeiten - Validieren
Eigenschaft Wert Eingabe Nachricht Ausgabe Kein Wert, standardmäßig die Eingabe Validieren mit GraphQL - Variable festlegen
Eigenschaft Wert Aktion Festlegen Festlegen message.body Typ beliebig Wert $(message.attributes.graphql)
