약 30G 개의 파일 (50MB에서 4GB까지)을 Google Cloud Storage에 매일 업로드해야한다고 Google 문서에 따르면 gsutil이 유일한 선택 일 수 있습니다. 그렇지 않습니다. ?Google 클라우드 저장소 gsutil 도구 (자바 포함)
Java에서 gsutil 명령을 호출하려고합니다. 이제 아래 코드가 작동합니다. 하지만 while 루프를 삭제하면 프로그램이 runtime.exec (명령) 바로 뒤에 멈추지 만 파이썬 프로세스가 시작되었지만 업로드를하지 않으면 곧 종료됩니다. 이유가 궁금합니다.
내가 sterr 스트림에서 읽을 이유는 내가 의한 상태 출력의 마지막 줄 util을 읽어 실행 완료 인 gsutil 여부를 결정
Pipe gsutil output to file에서 영감을하지만, 신뢰할 수있는 방법입니다? gsutil 실행이 Java로 끝나는 지 여부를 감지하는 더 좋은 방법이 있습니까?
String command="python c:/gsutil/gsutil.py cp C:/SFC_Data/gps.txt"
+ " gs://getest/gps.txt";
try {
Process process = Runtime.getRuntime().exec(command);
System.out.println("the output stream is "+process.getErrorStream());
BufferedReader reader=new BufferedReader(new InputStreamReader(process.getErrorStream()));
String s;
while ((s = reader.readLine()) != null){
System.out.println("The inout stream is " + s);
}
} catch (IOException e) {
e.printStackTrace();
}
하, 혼란스러워. 이전에 파일 API 기능을 포기해야하는 GCS Java API라고도하는이 https://developers.google.com/appengine/docs/java/googlestorage/을 발견했습니다. 그래서 그 페이지는 "GCS Client Library"를 찾았고 웹 애플리케이션 인 샘플 코드를 얻었습니다. 나는 그것을 시도했다, 4GB 파일을 업로드하는 것은 gsutil에 의해 5 분 동안 20 분 정도 걸렸다. 이 하나는 웹 응용 프로그램 대신 Java 응용 프로그램에 사용됩니다. 당장은 지금 내가 원하는 것입니다. 정말 고마워. 나는 그것을 확실히 시도 할 것이다. – foxwendy
그러나이 두 가지 "클라이언트 라이브러리"(Java 용)의 근본적인 차이점은 아직 없습니다 ... – foxwendy
그리고이 API를 둘러싼 재개 가능한 업로드에 대해 찾았습니까? 나는 RESTful API를 사용하여 웹 애플 리케이션에 의해 사용 된 발견했다. – foxwendy