Open1

なんだそういうことか/GCP編

ホリイケ カズマホリイケ カズマ

GCP/Cloud StrageのダウンロードはレスポンスBodyのこと

GCPのCloud Storageで料金の計算をする時に、課金の対象として「リクエスト」「ダウンロード」があり、『データをとってくるならリクエストもダウンロードも同義じゃないの?』という疑問があった。
この結論は ダウンロード=レスポンスのbodyがある だった。

前提

レスポンスで帰ってくるもの

  • ステータスコード:リクエストの結果を示す数値(例:200 OK、404 Not Found)
  • ヘッダー:レスポンスに関する情報やメタデータを含みます
  • ボディ(オプション):レスポンスに含まれるデータやコンテンツです

ダウンロードに該当

const res = await storage.get(...)
// res.body がある

この場合は引数に入れたIDの画像を返します。
このコンテンツ(画像)本体がBodyです。

リクエストのみ

const res = await storage.delete(...)
// res.bodyがない

この場合、削除をしているのでコンテンツ(画像)本体であるBodyは含まれません。
ちゃんと削除できた → ステータス:200
のようなステータスとヘッダーのみがあります。

コンテンツがなくリクエストだけなのでダウンロードはしていません。