Click HERE to see how Saviynt Intelligence is transforming the industry. |
05/31/2024 01:05 PM
Is there a way to add a delay to Saviynt when making multiple API calls? I'm getting a 429 error "too many requests". the limit is 12 requests every 6 seconds, how would i add this to the rest connector?
I added the below to the configJSON (and something similar to the ConnectionJSON) but no luck
"apiRateLimitConfig": {
"retryAfterCalls": 12,
"retryWaitSeconds": 6
}
06/03/2024 08:05 PM
06/04/2024 05:20 AM
06/04/2024 05:21 AM
It should work. Do you see any logs on api rate limit during import job execution
06/04/2024 05:25 AM
"ecm-worker","2024-05-30T17:55:49.946+00:00","2024-05-30T17:55:49.670428414Z stdout F 2024-05-30 17:55:49,670 [quartzScheduler_Worker-5] DEBUG rest.RestProvisioningService - Got Webservice API Response: [headers:[Server: openresty, Date: Thu, 30 May 2024 17:55:49 GMT, Content-Type: application/json, Transfer-Encoding: chunked, Connection: keep-alive, Access-Control-Allow-Credentials: true, Access-Control-Allow-Headers: X-Requested-With, Origin, Content-Type, Accept, Accept-Language, Authorization, If-Modified-Since, X-Api-Key, Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS, PATCH, X-Request-Id: , Retry-After: 1], responseText:{"error_code":"429050","message":"Too many requests"}"
06/04/2024 05:35 AM
This is target application response. Can you check logs printing saviynt sending delay request parameter
06/04/2024 05:44 AM
what should i be looking for? there are quite a few things going on in the logs.
06/04/2024 05:46 AM
Hi @Testy , look for the parameter which you have defined in config json .. "apiratelimitconfig"
06/04/2024 05:47 AM
Thanks, i found the below
[quartzScheduler_Worker-4] DEBUG integration.ExternalConnectionCallService - Key=ConfigJSON Value={"showLogs":true,"
"ecm-worker","2024-06-04T12:39:19.789+00:00","2024-06-04T12:39:18.912641038Z stdout F "apiRateLimitConfig": {"
"ecm-worker","2024-06-04T12:39:19.789+00:00","2024-06-04T12:39:18.912647637Z stdout F "retryAfterCalls": 12,"
"ecm-worker","2024-06-04T12:39:19.789+00:00","2024-06-04T12:39:18.912653337Z stdout F "retryWaitSeconds": 100"
"ecm-worker","2024-06-04T12:39:19.789+00:00","2024-06-04T12:39:18.912658937Z stdout F }"
"ecm-worker","2024-06-04T12:39:19.789+00:00","2024-06-04T12:39:18.912664537Z stdout F }"
06/04/2024 05:51 AM
This should be called from connection Json and not from configJson
06/04/2024 06:02 AM
i deleted it from the configJSON and ran it only in the connectionJSON, however it did not show in the logs.
i see this entry in the logs: rest.RestProvisioningService - Called API 10 times. So, keeping 100 sec sleep mode for next API call"
but i might've seen that also when it was in the configJSON
06/04/2024 05:59 AM
@rushikeshvartak , this document suggest to use it in config json https://docs.saviyntcloud.com/bundle/Okta-v23x/page/Content/Creating-an-integration.htm
06/04/2024 06:04 AM
Its for Okta and not rest connection
06/05/2024 07:56 AM
hi @rushikeshvartak not sure if you saw my message above but i deleted it from the configJSON and ran it only in the connectionJSON, however it did not show in the logs.
06/05/2024 01:23 PM
Does it works for provisioning use cases ?
06/05/2024 01:48 PM
We're not provisioning, just importing users and groups
06/05/2024 08:17 PM
"apiRateLimitConfig": {
"retryAfterCalls": 50,
"retryWaitSeconds": 60
}
06/11/2024 06:11 AM - edited 06/11/2024 06:16 AM
@rushikeshvartak this is what I have in the ConnectionJSON but its still throwing the 429 error when importing users and groups
"apiRateLimitConfig": {
"retryAfterCalls": 12,
"retryWaitSeconds": 6
}