Gå til indhold
Alle artikler

Kontrollér dækningen, når et API-udtræk deles i intervaller

Når en tjeneste begrænser store søgninger, kan det være nødvendigt at dele et udtræk op. Flere filer er dog ikke bevis på, at alle relevante poster er hentet præcis én gang.

Definér inventaret først

GitHubs ændring af Actions-søgninger er en aktuel anledning. Guiden her er en generel kontrolmetode; den forudsætter, at den konkrete tjeneste tillader den ønskede adgang og dokumenterer de relevante filtre.

Kilder til afsnittet

Skriv grænserne ned

Notér periode, tidszone, filtre og det felt, som afgrænser udtrækket. Afklar, om et interval inkluderer begge endepunkter. To nabointervaller kan ellers enten gentage en grænsepost eller overse den.

Lav et dækningsregister med én række per interval: fra, til, filter, sidste hentede side og status. Registrér fejl som uafsluttede intervaller frem for at lade dem ligne perioder uden aktivitet.

Følg paginationen til det dokumenterede slutpunkt

Hent de sider, tjenesten angiver, og registrér hvordan slutningen identificeres. Et tomt svar efter en fejl er ikke det samme som et vellykket, tomt resultat. Bevar fejlstatus og kontrollér den konkrete forespørgsel.

Et tænkt eksempel er et månedligt udtræk delt i dage. Hvis en enkelt dag rammer en grænse, kan den kræve en finere opdeling efter tjenestens dokumentation. Resten af måneden gør ikke den dag komplet.

Sammenlæg med stabile id’er

Brug posternes dokumenterede identifikatorer til at opdage dubletter, hvis de findes. Gem antallet før og efter sammenlægning og forklar eventuelle forskelle. Undgå at bruge titler eller kundenavne som eneste nøgle.

Hvis data kan ændres under kørslen, skal den begrænsning beskrives. Et udtræk over tid er ikke nødvendigvis et øjebliksbillede af hele systemet.

Aflever både resultat og dækningsstatus

Vis hvilke intervaller der er afsluttet, og hvilke der mangler. Hvis der stadig er huller eller ukendte begrænsninger, kaldes resultatet delvist.

Et dækningsregister gør det muligt at fortsætte fra det rigtige sted uden at hente alt igen. Det hjælper også modtageren med at skelne mellem en dokumenteret tom periode og en periode, som endnu ikke er undersøgt.