【GCS】画像を一般公開する


はじめに

Google Cloud Storage(以下GCS)で、エンドユーザーにコンテンツを配信することはよくあると思います。
本稿では、GCSにアップロードした画像をエンドユーザーに配信する方法を記載します。

期限付きで公開する

有効期限が最大7日間署名付きの画像URLを発行することができる

node.jsで発行する

import { Storage } from "@google-cloud/storage";

const storage = new Storage();
const file = storage.bucket(`バケット名`).file(`画像ファイル名`);
const url = await file.getSignedUrl({
  action: 'read',
  expires: Date.now() + 20 * 60 * 1000
});

バケットを公開する

無期限で画像を公開したい場合バケット自体をパブリックにする


デフォルトの設定ではPublic accessPer objectとなっている

バケットのPermissionsより次を設定する
New members: allUsers
Role: Storage Object Viewer


Public accessPublicになりバケットが一般公開された状態になる


画像は次のURLでアクセスすることができる
https://storage.googleapis.com/{バケット名}/{画像ファイル名}
例えばmako.pngであれば
https://storage.googleapis.com/mako0715_images/mako.png
でアクセスすることができる

参考