我正在使用Pentaho Data Integration,一个开源的ETL /数据传输工具。
该工具基于java构建,并使用服务帐户&用于向Google AnalyticsAPI发出请求的密钥文件。
问题是 - Google AnalyticsAPI在停止和错误之前似乎有一个默认的服务器端超时60秒。
现在,我确实遇到了以下信息以延长超时时间:
private HttpRequestInitializer setHttpTimeout(final HttpRequestInitializer requestInitializer) {
return new HttpRequestInitializer() {
@Override
public void initialize(HttpRequest httpRequest) throws IOException {
requestInitializer.initialize(httpRequest);
httpRequest.setConnectTimeout(3 * 60000); // 3 minutes connect timeout
httpRequest.setReadTimeout(3 * 60000); // 3 minutes read timeout
}
};
GoogleCredential credential = ....
final Analytics analytics = Analytics.builder(new NetHttpTransport(), jsonFactory, setHttpTimeout(credential)).build();
唯一的问题是我不确定如何结合第三方工具PDI实现这一点 - 我可以执行一个独立的Java代码 - 但我不确定上述脚本是否会永久存在增加给定帐户的超时持续时间,或仅限于会话。
是否有任何简单的方法可以为帐户延长Google Analytics的超时时间而无需执行复杂的代码?
如果没有,我究竟如何使用上面的代码片段?