2017-08-10 14 views
0

Cloud StorageからクラウドMLエンジンで動作するトレーナーアプリケーションからファイルをダウンロードしようとしています。しかし、私はファイルをダウンロードしようとすると、次のエラーが表示されます。 私はCloud Storageのパスにアクセスできます。クラウドMLエンジンのトレーナーアプリケーションからGoogle Cloud Storageファイルをダウンロードできません

エラー:ここ

blob.download_to_filename(destination_file_name) File "/root/.local/lib/python2.7/site-packages/google/cloud/storage/blob.py", line 482, in download_to_filename self.download_to_file(file_obj, client=client) File "/root/.local/lib/python2.7/site-packages/google/cloud/storage/blob.py", line 464, in download_to_file self._do_download(transport, file_obj, download_url, headers) File "/root/.local/lib/python2.7/site-packages/google/cloud/storage/blob.py", line 418, in _do_download download.consume(transport) File "/root/.local/lib/python2.7/site-packages/google/resumable_media/requests/download.py", line 101, in consume self._write_to_stream(result) File "/root/.local/lib/python2.7/site-packages/google/resumable_media/requests/download.py", line 62, in _write_to_stream with response: AttributeError: __exit__ 

がGCSファイルをダウンロードするためのコードです:

storage_client = storage.Client() 
    bucket = storage_client.get_bucket(bucket_name) 
    blob = bucket.blob(key) 
    blob.download_to_filename(destination_file_name) 

私が使用して他のファイルにアクセスすることができますトレーナーのアプリケーションの実行としてClientに任意のGCP資格情報を提供していませんよ

tf.train.string_input_producer 

助けてください。

答えて

1

トレーナーアプリケーションは、TensorFlowのfile_ioモジュール経由で他のファイルにアクセスします。 This postは、いくつかのヒントがありますが、あなたは、ファイルを開きたい場合:これらは、より良いあなたのニーズに合わせた場合、またcopy(..)機能とread_file_to_string(...)あり

with file_io.FileIO("gs://my_bucket/myfile") as f: 
    f.read() 

+0

ありがとうございました。それはとても役に立ちました。それがなぜ私が試みていたように動作しないのか分かりません。 –

関連する問題