Google 云存储库从 Cloudstorage 读取并下载到 local/on-prem?

Google Cloud storage library to read from Cloudstorage and download to local/on-prem?

我看到了从 Google 云端验证和读取 Buckets/Objects 的选项。 我如何将对象直接复制到我的 local/on-prem,下面的程序可能 运行?我看到一些方法,例如 downloadTo、blob 的 copyTo,但如果我没记错的话,它看起来像是 google 云本身内的 copy/download。 downloadTo 路径不允许我使用该路径配置服务器。

(注意 - 我知道 gsutil 命令,但如果可能的话,我希望它以编程方式下载文件)

StorageOptions options = StorageOptions.newBuilder().setProjectId(PROJECT_ID).setCredentials(GoogleCredentials.fromStream(new FileInputStream(PATH_TO_JSON_KEY))).build();
Storage storage = options.getService();
Blob blob = storage.get(BUCKET_NAME, OBJECT_NAME);

downloadTo 会下载到您执行代码的位置。

import com.google.cloud.storage.*;
import java.nio.file.Paths;
//other imports and setup before this

String bucketName = "MY-BUCKET";
String filename = "MY-FILE.EXTENSION";
Blob blob = storage.get(bucketName, filename);
if (blob != null) {
    blob.downloadTo(Paths.get('path/where/you/want/to/save/the/file.extension'));
}

此代码将获取存储桶中的文件,并将其下载到您想要的任何路径,无论您身在何处运行。