Attualmente, Zendesk offre l’impaginazione basata sull’offset per quasi tutti i suoi attuali endpoint API REST. Sebbene vada bene per la maggior parte dei casi d'uso su piccola scala (ad es., richieste che non superano le 10 pagine di dati), sottopone l'infrastruttura a un carico esponenziale se usato su larga scala con scarti di pagine elevati. Queste richieste di offset elevato comportano tempi di risposta elevati e prestazioni scarse perché, per ogni nuova pagina richiesta, è comunque necessario assemblare tutte le pagine precedenti.
Per offrire agli sviluppatori una migliore esperienza e prestazioni più rapide per i nostri clienti, a breve migreremo principalmente verso l’impaginazione basata su cursore e implementeremo limiti per richieste di offset di pagina molto elevati.
- Che cos'è l'impaginazione basata sul cursore?
- Come e perché stiamo apportando queste modifiche?
- Limiti per l’impaginazione basata sull’offset
- Come posso iniziare a implementare queste modifiche?
- Quali endpoint sono supportati?
Che cos'è l'impaginazione basata sul cursore?
L’impaginazione basata su cursore funziona usando un puntatore a un elemento specifico in un dataset per contrassegnare i tuoi progressi. In sostanza, agisce come una sorta di segnalibro che ti consente di richiedere il batch successivo di elementi nel dataset posizionando il cursore sulle richieste successive. Anziché visualizzare gli elementi nella pagina successiva, devi indicare il cursore indicato nella risposta precedente. Ciò ha il vantaggio di consentire risultati più rapidi per volumi elevati.
Come e perché stiamo apportando queste modifiche?
Nel prossimo futuro, Zendesk apporterà modifiche volte a migliorare l’utilizzo delle API su larga scala. Ciò include rendere ampiamente disponibile l’impaginazione basata sui cursori, a partire da ns Utenti, ticket e tag prima di aggiungere la maggior parte dei nostri endpoint nel 2021.
L’impaginazione basata su offset continuerà a essere offerta con un ambito e una profondità notevolmente limitati. Ciò include la limitazione delle richieste di offset molto elevate (richieste superiori a 1.000 pagine), che avrà una serie di esiti, soprattutto positivi, per i forti consumatori delle nostre API.
I vantaggi dell’impaginazione basata sul cursore includono:
- Le richieste non subiranno più i timeout estremamente elevati che si verificano quando si effettuano richieste con numeri di pagine molto elevati. Ciò comporterà prestazioni più rapide per quasi tutte le integrazioni che richiedono l’analisi di interi insiemi di risorse pagina per pagina.
- Le richieste che usano l’impaginazione basata sul cursore non presenteranno più i rischi per l’infrastruttura che presenta l’impaginazione basata su uno scarto elevato di pagine, dalle interruzioni del servizio agli incidenti dovuti al carico dell’infrastruttura.
- Per le integrazioni che usano l'impaginazione basata sull'offset per esportare un intero set di risorse, il passaggio all'impaginazione basata sul cursore sarà relativamente semplice e richiederà una quantità minima di rielaborazione per preparare le integrazioni al passaggio. Invece di prendere a next_page , l’integrazione può usare il parametrocursor per una nuova pagina.
Consulta questa pagina per un confronto più dettagliato.
Limiti per l’impaginazione basata sull’offset
Zendesk desidera che tutto il traffico che può usare l’impaginazione basata sul cursore sia allontanato dall’impaginazione basata sull’offset.
Per incoraggiare questo cambiamento, a partire dal 15 settembre 2021, Zendesk implementerà limiti di frequenza per le richieste di oltre 1.000 pagine (100.000 risorse). Per tutte le richieste superiori a 1.000 pagine, gli account saranno limitati a 10 richieste al minuto.
Ciò rallenterà (ma non fermerà) le richieste che gravano sulla nostra infrastruttura in modo sproporzionato. Se una richiesta di oltre 1.000 pagine viene inoltrata a una velocità superiore di 10 volte al minuto, verrà fornita una risposta 429 e sarà necessario riprovare in un secondo momento. Il messaggio di errore indicherà anche il tempo rimanente prima che gli utenti possano inviare la richiesta successiva e continuare la ricerca.
Le richieste effettuate usando l’impaginazione basata sul cursore non avranno limiti simili e avranno prestazioni più elevate rispetto alle richieste con offset di pagina elevati.
Come posso iniziare a implementare queste modifiche?
Ti consigliamo di passare all’impaginazione basata sul cursore il più presto possibile. Consulta Impaginazione degli elenchi usando l’impaginazione basata sul cursore. Dopo che hai avuto la possibilità di esaminare le modifiche e discuterne internamente, ti chiediamo di rivedere alcuni elementi:
- Assicurati che le integrazioni che continueranno a usare l’impaginazione basata su offset lo facciano entro i nostri limiti.
- Esamina tutte le parti delle integrazioni che usano l’API specificamente per raccogliere tutti i dati disponibili o semplicemente per generare report sulle modifiche. Di solito sono i candidati ideali per il data warehousing.
- Se usi l’endpoint per raschiare tutti i dati disponibili, inizia a passare all’impaginazione basata sul cursore.
- Se usi l’API per generare report sulle modifiche giornaliere, inizia a usare le nostre API incrementali, che consentirebbe un volume elevato di tutti i dati rilevanti per questo caso d’uso. L’uso dell’impaginazione basata sul cursore per l’esportazione iniziale e il passaggio all’API incrementale per acquisire le modifiche ridurrà notevolmente il numero di chiamate necessarie per raccogliere i dati pertinenti.
- Se al momento stai inviando richieste a più pagine in parallelo, prendi in considerazione l'opzione incrementale qui sopra, in quanto l'impaginazione parallela non è supportata e costituisce un onere molto gravoso per la nostra infrastruttura.
Quali endpoint sono supportati?
Per un elenco degli endpoint che supportano l’impaginazione mediante cursore, consulta Endpoint con funzionalità CBP nell’annuncio sui limiti dell’impaginazione basata sull’offset.
Se dopo aver esaminato questo aspetto hai ulteriori domande o dubbi, saremo lieti di discuterne con te e il tuo team di progettazione e integrazioni.
Grazie per aver dedicato del tempo a esaminare questi punti. Non vediamo l'ora di lavorare con te nel prossimo futuro per creare strumenti migliori, più rapidi e più scalabili per servire meglio i tuoi clienti.
Avvertenza sulla traduzione: questo articolo è stato tradotto usando un software di traduzione automatizzata per fornire una comprensione di base del contenuto. È stato fatto tutto il possibile per fornire una traduzione accurata, tuttavia Zendesk non garantisce l'accuratezza della traduzione.
Per qualsiasi dubbio sull'accuratezza delle informazioni contenute nell'articolo tradotto, fai riferimento alla versione inglese dell'articolo come versione ufficiale.