UGA Boxxx

つぶやきの延長のつもりで、知ったこと思ったこと書いてます

【Java】GCSのファイルをローカルにダウンロードする

Javaライブラリであるgoogle-cloud-storageを使うと、BlobクラスのdownloadToメソッドを使用して、GCSバケット内のオブジェクト(Blob)をローカルにダウンロードできる

cloud.google.com

使い方は以下のような感じ

import com.google.cloud.storage.Blob;
import com.google.cloud.storage.BlobId;
import com.google.cloud.storage.Storage;
import com.google.cloud.storage.StorageOptions;

import java.nio.file.Path;
import java.nio.file.Paths;

public class GCSDownloadObject {

    public static void main(String[] args) {
        String bucketName = "your-bucket-name";
        String objectName = "your-object-name";
        String localFilePath = "path/to/your/local/file";

        downloadObject(bucketName, objectName, localFilePath);
    }

    public static void downloadObject(String bucketName, String objectName, String localFilePath) {
        // Google Cloud Storageクライアントを作成
        Storage storage = StorageOptions.getDefaultInstance().getService();

        // BlobIdを作成
        BlobId blobId = BlobId.of(bucketName, objectName);

        // Blobを取得
        Blob blob = storage.get(blobId);

        // Blobをローカルファイルにダウンロード
        Path localPath = Paths.get(localFilePath);
        blob.downloadTo(localPath);

        System.out.println("Blob " + objectName + " downloaded to " + localFilePath);
    }
}