Itgeneor229 Er is geen capaciteit meer beschikbaar voor API-gebruik op partitie '2628...'

Bij het ophalen van TransactionLinesIncremental krijg ik de foutmelding:

itgeneor229
De database ‘…’ kon niet worden geopend.
Er is geen capaciteit meer beschikbaar voor API-gebruik op partitie ‘2628…’.
Optimaliseer uw API-gebruik of neem contact op met Exact Online Support om meer API-aanroepen per dag te krijgen dan de huidige limiet van 6,000-aanroepen, of probeer het morgen opnieuw.

De data moet uiteindelijk landen in BigQuery, bijvoorbeeld met Python.

Stappen gevolgd op Schatten omvang Exact Online administratie voor een schatting:

Tabel #Rijen
TransactionLines 10999999
Documents 6999999
SalesInvoiceLines 3999999

Hoe wordt deze administratie het handigste verwerkt in BigQuery?

Gezien de jonge leeftijd van de administratie (aangemaakt grofweg Q1 2020 volgens deze schatting) en het nu al grote aantal transactieregels, is het verstandig om te overwegen een andere administratieve inrichting te maken. Bijvoorbeeld geconsolideerd verwerken van financiën en levering vanuit de webshopsoftware.

De verwachting is dat deze administratie vrij snel naar significant grotere aantallen groeit dan ruim 10 miljoen regels. Vanuit het design en de security-eisen is het gebruik van de *Incremental tabellen onhandig. De tijdelijke memory footprint zal groter worden dan 32 GB, evenals een downloadsize boven de Fair Use-policy.

De foutmelding hangt samen met de geleidelijke verlaging van de Exact Online API-limieten tot 5.000 calls per dag die leidt tot HTTP 429 meldingen (zie Geleidelijke verlaging van Exact Online API-limieten leidt tot "Too many requests" en itgeneor229 foutmeldingen).

Voor omgevingen met minder dan 10 miljoen rijen volstaan meestal de volgende tips:

en daaraan gekoppelde artikelen.

Invantive Cloud

Advies is om voor deze grote administratie rechtstreeks gebruik te maken van de Sync API’s van Exact Online via de Sync*-tabellen. Deze hebben een aantal aandachtspunten om tot een volledige en kloppende situatie te komen. Deels zijn deze niet-gedocumenteerd; advies is om hiervoor Exact Online rechtstreeks te raadplegen.

De Sync*-tabellen kunnen opgehaald worden vanaf een referentiepunt (“Timestamp”). Advies is om de gebruikte referentiepunten te onthouden en regelmatig een significant langere periode te verversen om de impact van eventuele fouten in het gebruikte algoritme te corrigeren. Een voorbeeld daarvan is 1x per maand de afgelopen 3 maanden volledig bijwerken.

Daarnaast kunnen de verwijderberichten opgepakt worden via DeletedTransactions.

De gegevens kunnen opgehaald worden via de OData driver op Invantive Bridge Online. Het is ook mogelijk de volledige applicatielogica binnen Invantive App Online op te slaan en van daaruit bijvoorbeeld een JSON-bericht te retourneren met de data. Een voorbeeld van dergelijke applicatielogica in Invantive PSQL is te vinden via Topics met de tag invantive-app-online.

Invantive Data Replicator

De administratie gebruikt de logistieke stromen in Exact Online. Deze sync API’s zijn momenteel nog niet op het gewenste kwaliteitsniveau. Een alternatief is gebruik te maken van een eigen server en Invantive Data Replicator in plaats van Invantive Cloud.

Data Replicator kent significant hogere limieten qua verwerking van de data. Echter, het product is circa 2x zo duur als Invantive Office voor de eerste 100 administraties. Daarnaast is een sterke server nodig evenals een SQL-driver voor BigQuery. Momenteel worden alleen SQL Server, PostgreSQL, MySQL en Oracle ondersteund. Hierbij is MySQL niet aan te raden vanwege het ontbreken van een bulk load modus in MySQL.