Active Storageの保存先にGCSを使う場合のstrorage.ymlとCredentialsの設定方法

2019年10月23日 16:25
    GCSからダウンロードしたサービスアカウントキーをRailsのconfig/storage.ymlに設定します。
    その際、最低限、private_key_idとprivate_keyはCredentialsに登録し呼び出すように設定する必要があるのですが、private_keyには改行(\n)が入っていて、普通に登録する方法ではうまくいきませんでした。

    Credentialsの設定方法

    gcs:
      private_key_id: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
      private_key: "-----BEGIN PRIVATE KEY-----\nXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX..."
    改行(\n)が入っているprivate_keyはダブルクオーテーション("")でくくります。

    storage.ymlの設定方法

    google:
      service: GCS
      project: someproject
      credentials: 
        type: "service_account"
        project_id: "someproject"
        private_key_id: <%= Rails.application.credentials.dig(:gcs, :private_key_id) %>
        private_key: <%= Rails.application.credentials.dig(:gcs, :private_key).dump %>
        ...
    private_keyの値に.dumpをつけます。

    関連記事

    関連記事はありません。