LoginSignup
5
4

More than 5 years have passed since last update.

Asset Bundle をビルドして Google Cloud Storage にアップロードする

Last updated at Posted at 2017-06-26

[Unity] Asset Bundle をビルドしてAWS S3 にアップロードする を参考にして Google Cloud Storage にアップロードするエディタ拡張を作ってみた。

使い方

  • ドキュメント を参考に Google のサービスアカウントを作成する
    • サービスアカウントとはスクリプトなどから GCP にアクセスするためのアカウント
    • サービスアカウントごとに秘密鍵が発行されその秘密鍵で署名された JWT によって認証を行う
    • サービスアカウントはプロジェクトに関連付けられるので必要であればここでプロジェクトも作成する
    • サービスアカウントには Google Cloud Storage の読み書き権限を付けておく
  • P12 形式の秘密鍵をダウンロードする
    • パスワードは必要になるのでメモしておく
    • 秘密鍵は Assets 直下に保存する(他の場所に移動したい場合はスクリプトを更新する必要がある)
  • Asset Bundle をアップロードするバジェットはあらかじめ作成しておく
  • スクリプト中の "keyFile", "keyPassword", "email", "badgetName" を設定する
  • メニューから "Build/Build AssetBundles And Upload GCS" を選択すると Asset Bundle のビルドとアップロードが実行される

補足

  • JWT が正常に作れているかは JWT公式サイト で確認することができる
  • 発行されたアクセストークンの内容の確認は https://www.googleapis.com/oauth2/v1/tokeninfo?access_token=ACCESSTOKEN でできる
  • GoogleJsonWebToken.Create で GoogleJWTPayload の scope を変更すれば他の GCP のサービスも利用できる

追記

  • AssetBundle をダウンロードするのに WWW.LoadFromCacheOrDownload を使う場合はヘッダーを設定することができないためアップロード時のように認証用の JWT を指定することができない。
  • そのため WWW.LoadFromCacheOrDownload を利用する場合は Google Cloud Storage 側でファイルの権限を全公開にする必要がある。
  • この対応については後ほど追記するが https://cloud.google.com/storage/docs/access-control/making-data-public に従って公開設定をすれば良さそう
  • ファイルアップロード後にファイルの公開権限を全公開にするように変更した
5
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4