gpt4 book ai didi

java - 通过 Java API 在 GCS(Google 云存储)上压缩文件

转载 作者:太空宇宙 更新时间:2023-11-04 11:54:18 26 4
gpt4 key购买 nike

我定期将日志文件放入 GCS 存储桶中(例如 gs://my-bucket/log.json),我想设置一个 java 进程来处理这些文件,对它们进行 gzip 压缩,然后将它们移动到我存档文件的单独存储桶(即将其移动到 gs://archived-logs/my-bucket/log.json.gz)

gsutil cp -z 似乎是我目前能找到的唯一选项。有没有人使用他们的 Java API 以可行的方式实现它?

最佳答案

好吧,我想我已经解决了。标准流解决方案在结尾。

    GcsOutputChannel gcsOutputChannel = gcsService.createOrReplace(new GcsFilename("my-bucket", "log.json.gz"),    new GcsFileOptions.Builder().build());    GZIPOutputStream outputStream = new GZIPOutputStream(Channels.newOutputStream(gcsOutputChannel));    GcsInputChannel inputChannel = gcsService                    .openReadChannel(new GcsFilename("my-bucket", "log.json"), 10000);    InputStream inStream = Channels.newInputStream(inputChannel);    byte[] byteArr = new byte[10000];    while (inStream.read(byteArr) > 0) {        outputStream.write(byteArr);    }

关于java - 通过 Java API 在 GCS(Google 云存储)上压缩文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41496013/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com