Успешные API ограничивают количество записей, возвращаемых на запрос - PullRequest
0 голосов
/ 07 сентября 2018

Я использую Python для извлечения данных из API Successfactor. Существует объект, настолько тяжелый, что 1000 записей по умолчанию, возвращаемых на запрос, всегда приводят к превышению времени ожидания сервера.

Я хочу уменьшить количество записей, возвращаемых за запрос, чтобы избежать проблемы тайм-аута с сервера.

Я попытался $ top = 100 ... но не могу перейти к следующим 100, потому что в возвращаемом результате нет ни __следующей ссылки, ни параметра $ offset.

Я пытался ограничить количество возвращаемых столбцов nonNavigationProperties. все еще не помогает.

Кто-нибудь знал, как ее решить?

ниже приведен пример:

https://xxxx.successfactors.com/odata/v2/JobRequisition?$format=JSON&&$filter=lastModifiedDateTime ge datetime'2015-08-27T00: 00: 00 'и lastModifiedDateTime le datetime'2015-08-27T23: 59: 59' & $ select = age, appTemplateId, оцениватьRatingScaleName, cReq1UpApprover, cReqAddSourcing , cReqAdvertCost, cReqAdvertDetails, cReqAdvertDraftCopy, cReqAlternateLocation, cReqAppID, cReqAssignmentValue, cReqAward, cReqCancelCost, cReqCancelReason, cReqCancelbyELT, cReqChangetoterms, cReqChargeRate, cReqCompany, cReqContractDuration, cReqCoreSourcing, cReqCurrentEndDate, cReqDateShortlist, cReqDescServices, cReqEstAgencyCost, cReqEstCostOfHire, cReqExtensionEndDate, cReqExtensionStartDate, cReqFirstName, cReqFlexiWork, cReqHMPositionTitle , cReqHSE, cReqHiringManagerComments, cReqHoursPerWeek, cReqInt1Req, cReqJBComments, cReqLastName, cReqLimitedTermDuration, cReqLinkedInProject, cReqMarketMapInfo, cReqMaxRate, cReqNewDate, cReqOfferTarget, cReqOriginalREQID, cReqOriginalStartDate, cReqPOApprover1, cReqPOApprover2, cReqPOApprover3, cReqPreIdenCand, cReqPreferredName, cReqPropAccumPOSpend, cReqRateCardCode, cReqRateEndRange, cReqRateStar tRange, cReqRateWSuper, cReqRecSearchFirm, cReqRemEndRange, cReqRemStartRange, cReqReplacementFor, cReqRequirements, cReqResTeamComments, cReqRetainer1, cReqRetainer2, cReqRetainer3, cReqRoleInfo, cReqRosterPatDetails, cReqSecondSourcing, cReqSrcPlan, cReqStartDate, cReqStartofRoster, cReqTesting, cReqTotalPOValuetodate, cReqTravel, cReqUserID, candidateProgress, город, closedDateTime, corporatePosting, costCenterId, страна, createdDateTime, валюта, DefaultLanguage, удаление, управление, отдел, erpAmount, extPostEndDate, extPostStartDate, formDataId, formDueDate, instCongofStartReq, instrConfirmStarted, instrContractExtnReq, instrContractHistory, instrContractReq, instrEmpReq, instrExecAssignmentInfo, instrFurtherInstructions, instrInterview1, instrJobBrief, instrNewHireName, instrPosDetails, instrPostingDetails, instrProposedContractCosts, instrProposedExtn, instrRateCardRate, instrReqCost, instrReqDetails, instrResTimeframe, instrRoleInfo, instrSrcPlan, instrToManager, internalStatus, intranetPosting, isDraft, jobCode, jobGrade, jobGradeCode, J obReqGUId, jobReqId, jobRole, jobStartDate, lastModifiedBy, lastModifiedDateTime, lastModifiedProxyUserId, расположение, numberOpenings, openingsFilled, overallScaleName, positionNumber, почтовый индекс, ratedApplicantCount, relocationCost, reverseScale, StateProvince, statusSetId, templateId, templateType, timeToFill

1 Ответ

0 голосов
/ 12 сентября 2018

Вы пытались использовать $ skip?

https://xxxx.successfactors.com/odata/v2/JobRequisition?
$format=JSON&$filter=lastModifiedDateTime ge datetime'2015-08-27T00:00:00' 
and lastModifiedDateTime le datetime'2015-08-27T23:59:59'
&$top=100&$skip=100

Это должно привести к наборам 100-200 вместо 0-100 ...

Проверьте это: https://blogs.sap.com/2013/03/20/using-odatas-top-skip-and-count/

Я думаю, что нет "автоматической" возможности добиться этого с помощью следующей ссылки или чего-то еще, этого не существует. Я бы рекомендовал сначала использовать $ count, чтобы получить общую сумму. Затем получите размер страницы с помощью команд top и skip.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...