我看到用于从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);
答案 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'));
}
此代码将获取存储桶中的文件,并将其下载到所需的任何路径,无论您在何处运行
。