Fog-Google Storage Specify Project
Похоже, есть много разных документов о том, как настроить Google Storage с помощью Fog. Мне удалось заставить Paperclip работать только с несколькими параметрами, и я надеялся упростить процесс хранения файлов и манипуляции с ними:
connection = Fog::Storage.new({
provider: 'Google',
google_project: 'MYPROJECT',
google_storage_access_key_id: 'MYKEYID',
google_storage_secret_access_key: 'MYSECRET'
})
Это сгенерирует предупреждение:
[fog][WARNING] Unrecognized arguments: google_project
Я могу хранить файлы, создавать корзины и делать все, что мне нужно, КРОМЕ У меня есть доступ только к проекту по умолчанию. Кто-нибудь знает, как я могу просто указать Google Project в хеш Fog::Storage.new?
2 ответа
Учетные данные хранилища Google через Fog могут сбить с толку, поскольку у Google есть два отдельных API хранилища. Используя access_key_id
вы решили использовать устаревший API-хранилище XML, в котором нет понимания проектов. Если удалить проект arg, он работает нормально.
Поскольку они используют access_key и секретную пару (и, тем самым, используя API-интерфейс XML Storage Google), им не нужно указывать проект, поскольку ключи доступа привязаны к проекту.
$ irb
2.4.0 :001 > require 'fog/google'
=> true
2.4.0 :002 >
2.4.0 :003 > connection = Fog::Storage.new({
2.4.0 :004 > provider: 'Google',
2.4.0 :005 > google_storage_access_key_id: 'MYKEYID',
2.4.0 :006 > google_storage_secret_access_key: 'MYSECRET'
2.4.0 :007?> })
=> #<Fog::Storage::GoogleXML::Real:70271319462720 @google_storage_access_key_id="MYKEYID" @google_storage_secret_access_key="MYSECRET" @connection_options={} @hmac=#<Fog::HMAC:0x007fd2a211a1a8 @key="MYSECRET", @digest=#<OpenSSL::Digest: da39a3ee5e6b4b0d3255bfef95601890afd80709>, @signer=#<Proc:0x007fd2a2119de8@/Users/natwelch/.rvm/gems/ruby-2.4.0/gems/fog-core-1.45.0/lib/fog/core/hmac.rb:21 (lambda)>> @host="storage.googleapis.com" @persistent=true @port=443 @scheme="https" @path_style=false>
Документы по API для XML находятся по адресу https://cloud.google.com/storage/docs/xml-api/overview а код fog-google - по адресу https://github.com/fog/fog-google/tree/master/lib/fog/storage/google_xml
Похоже, что ключ доступа и секретный ключ доступа связаны с конкретным проектом, поэтому, если вы хотите использовать другой проект, вам нужно будет сгенерировать разные учетные данные. Смотрите также: https://github.com/fog/fog-google/issues/268