えむにわリソース

ITのスキマ的なあれこれを書きます。

CarrierWave を Google Cloud Storage で使おうとしたときに嵌まる罠

困難

CarrierWave で GCS を使おうとすると モデル保存時に wrong number of arguments (given 6, expected 4..5) という度し難いエラーが出る

f:id:m2wasabi:20210410083417p:plain

まとめ

  • fog-googleGCPアクセスでJSON API を使った場合、copy_object メソッドで引数エラーが出る
  • GemがメンテナンスされるまではレガシーなXML APIを使う
  • 問題が発生している組み合わせは carrierwave (2.2.1), fog-google (1.12.1), google-api-client (0.50.0)

参考…にならない資料

エラーになっている関数 github.com

FogのGCP連携の説明 JSON API は速くて便利 🙄 github.com

FogのオススメのJSON APIの使い方(使えない) github.com