Configurare l'API per gli eventi inviati dal server
SI APPLICA A: Sviluppatore | Basic | Basic v2 | Standard | Standard v2 | Premium
Questo articolo fornisce linee guida per la configurazione di un'API in Gestione API che implementa eventi inviati dal server (S edizione Standard). S edizione Standard si basa sullo standard HTML5 EventSource
per lo streaming (push) dei dati in un client tramite HTTP dopo che un client ha stabilito una connessione.
Suggerimento
Gestione API fornisce anche supporto nativo per API WebSocket, che mantengono aperta una singola connessione permanente e bidrectional tra un client e un server.
Prerequisiti
- Un'istanza di Gestione API esistente. Crearne una se non è già stato fatto.
- API che implementa S edizione Standard. Importare e pubblicare l'API nell'istanza di Gestione API usando uno dei metodi di importazione supportati.
Linee guida per S edizione Standard
Seguire queste linee guida quando si usa Gestione API per raggiungere un'API back-end che implementa S edizione Standard.
Scegliere il livello di servizio per le connessioni HTTP a esecuzione prolungata - S edizione Standard si basa su una connessione HTTP a esecuzione prolungata supportata in determinati piani tariffari Gestione API. Le connessioni a esecuzione prolungata sono supportate nei livelli classici e v2 Gestione API, ma non nel livello Consumo.
Mantenere attive le connessioni inattive: se una connessione tra client e back-end potrebbe rimanere inattiva per 4 minuti o più, implementare un meccanismo per mantenere attiva la connessione. Ad esempio, abilitare un segnale keepalive TCP nel back-end della connessione o inviare il traffico dal lato client almeno una volta per 4 minuti.
Questa configurazione è necessaria per eseguire l'override del timeout di sessione inattivo di 4 minuti applicato da Azure Load Balancer, usato nell'infrastruttura Gestione API.
Inoltrare immediatamente gli eventi ai client: disattivare il buffer delle risposte nei
forward-request
criteri in modo che gli eventi vengano immediatamente inoltrati ai client. Ad esempio:<forward-request timeout="120" fail-on-error-status-code="true" buffer-response="false"/>
Evitare altri criteri che memorizzano nel buffer le risposte: alcuni criteri,
validate-content
ad esempio, possono anche memorizzare nel buffer il contenuto della risposta e non devono essere usati con le API che implementano S edizione Standard.Evitare di registrare il corpo della richiesta/risposta per Monitoraggio di Azure, Application Insights e Hub eventi: è possibile configurare la registrazione delle richieste API per Monitoraggio di Azure o Application Insights usando le impostazioni di diagnostica. Le impostazioni di diagnostica consentono di registrare il corpo della richiesta/risposta in varie fasi dell'esecuzione della richiesta. Per le API che implementano S edizione Standard, questo può causare buffering imprevisto che può causare problemi. Le impostazioni di diagnostica per Monitoraggio di Azure e Application Insights configurate nell'ambito globale/Tutte le API si applicano a tutte le API nel servizio. È possibile eseguire l'override delle impostazioni per le singole API in base alle esigenze. Quando si accede a Hub eventi, è possibile configurare l'ambito e la quantità di informazioni di contesto per la registrazione di richieste/risposte usando i log-to-eventhubs. Per le API che implementano S edizione Standard, assicurarsi di aver disabilitato la registrazione del corpo della richiesta/risposta per Monitoraggio di Azure, Application Insights e Hub eventi.
Disabilitare la memorizzazione nella cache delle risposte: per assicurarsi che le notifiche al client siano tempestive, verificare che la memorizzazione nella cache delle risposte non sia abilitata. Per altre informazioni, vedere Gestione API criteri di memorizzazione nella cache.
Testare l'API in fase di carico : seguire le procedure generali per testare l'API sotto carico per rilevare i problemi di prestazioni o configurazione prima di passare all'ambiente di produzione.
Passaggi successivi
- Altre informazioni sulla configurazione dei criteri in Gestione API.
- Informazioni sulla capacità di Gestione API.