유스 케이스가 있고 처음 네 행의 Google 스프레드 시트를 가져 오려고합니다. 공개적으로 게시되어 웹 페이지에 표시됩니다.GAE에서 80K 행 이상 7 열 이상을 포함하는 Google 스프레드 시트의 첫 번째 네 행만 가져 오는 방법 (Java 사용)
행 수가 1000 인 스프레드 시트의 경우에는 문제가 없습니다. 그러나 80K 이상의 행에있는 스프레드 시트의 경우 항상 타임 아웃 예외가 발생합니다.
Unable to complete the HTTP request when using SpreadSheet API
및 제한 시간을 사용 시간 제한을 재 시도했지만, 무한 루프에 갈 것 같다
나는 내 우려 유사했다 발견이 링크를 언급했다.
"ListFeed"를 사용하고 있습니다. ListFeed가 전체 스프레드 시트를로드하기 때문에 응용 프로그램이로드하는 데 더 많은 시간이 걸릴 수 있습니까?
내 웹 응용 프로그램에 전체 스프레드 시트가 아닌 처음 4-5 행만 가져와야하는 대체 솔루션이 있습니까?
제안하고 조언하십시오.
시간 제한 및 재 시도 :
ListFeed lf = null; while (timeoutflag != 1) { try { lf = service.getFeed(url, ListFeed.class); timeoutflag = 1; } catch (RuntimeException e) { timeoutinc += 2; service.setConnectTimeout(timeoutinc * 3000); service.setReadTimeout(timeoutinc * 3000); } }
가져 오기 행 :
for (int k = 0; k < 5; k++) { ListEntry le = lf.getEntries().get(k); CustomElementCollection cec = le.getCustomElements(); for (int j = 0; j < colcount; j++) { resp.getWriter().println("<td>"); resp.getWriter().println(cec.getValue(colname[j])); resp.getWriter().println("</td>"); } }
감사합니다. 참조 링크가 도움이되었습니다. 나는 소스 코드를 추가하여 질문을 편집했다. 같은 것을 조언 해주세요. –