要从Cloudstorage读取并下载到本地/本地的Google Cloud存储库?

时间:2018-08-21 21:29:49

标签: google-cloud-storage cloud-storage

我看到用于从Google云端进行身份验证和读取存储桶/对象的选项。 我如何将对象直接复制到本地/本地可能运行以下程序的地方?我看到了一些方法,例如blob的downloadTo,copyTo,但如果我没记错的话,它似乎是在Google Cloud本身内部复制/下载。 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);

1 个答案:

答案 0 :(得分:1)

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'));
}

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