2017-11-27 2 views
1

Es scheint eine Menge verschiedener Dokumente zur Konfiguration von Google Storage mit Fog zu geben. Ich habe in der Lage gewesen, Büroklammer zu bekommen mit nur wenigen Parametern zu arbeiten und habe gehofft, dass die Dinge einfach zu halten für einige grundlegende Dateispeicherung und Manipulation zu tun:Fog-Google Storage Projekt angeben

connection = Fog::Storage.new({ 
    provider:       'Google', 
    google_project:     'MYPROJECT', 
    google_storage_access_key_id:  'MYKEYID', 
    google_storage_secret_access_key: 'MYSECRET' 
}) 

dies eine Warnung generiert:

[fog][WARNING] Unrecognized arguments: google_project 

Ich kann Dateien speichern, Buckets erstellen und alles tun, was ich brauche. AUSSERDEM habe ich nur Zugriff auf das Standardprojekt. Weiß jemand wie ich einfach das Google Project im Fog :: Storage.new Hash angeben kann?

Antwort

0

Google-Speicheranmeldeinformationen über Fog können verwirrend sein, da Google über zwei separate Speicher-APIs verfügt. Wenn Sie access_key_id verwenden, verwenden Sie die ältere XML-Speicher-API, die kein Verständnis für Projekte hat. Wenn Sie das Projekt arg entfernen, funktioniert es gut.

Da sie einen access_key und ein secret-Paar verwenden (und damit die Google Storage XML-API verwenden), müssen sie kein Projekt angeben, da die Zugriffsschlüssel an ein Projekt gebunden sind.

$ 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:[email protected]/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>

Die API-Dokumentation für XML sind bei https://cloud.google.com/storage/docs/xml-api/overview und der Nebel-google-Code ist bei https://github.com/fog/fog-google/tree/master/lib/fog/storage/google_xml