Я хочу включить ведение журнала для группы в GCS, используя java sdk. По сути, я хочу реализовать эквивалент команды gsutil: gsutil logging set on -b gs://logging-bucket -o AccessLog gs://mycompanybucket
, как указано в документации здесь . Я пытался вызвать командную строку с помощью java кода, но это всегда происходит вечно.
public static void checkLoggingBuckets(ArrayList<String> cloudbuckets) throws IOException {
Runtime rt = Runtime.getRuntime();
ArrayList<String> bucketList = cloudbuckets;
try {
for (String st: bucketList) {
String command = "cmd /c cmd.exe gsutil logging set on -b gs://logs-bucket-2019 -o AccessLog gs://";
System.out.println("checking for bucket " + st);
Process proc = rt.exec(command + st);
int result = proc.waitFor();
System.out.println("Process exit code: " + result);
System.out.println();
System.out.println("Result:");
BufferedReader reader = new BufferedReader(new InputStreamReader(proc.getInputStream()));
String line = "";
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
}
} catch (IOException e) {
e.printStackTrace();
}
}