問題タブ [gcsfuse]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
google-cloud-platform - ModuleNotFoundError: 'fuse' という名前のモジュールがありません
Google Cloud の AI プラットフォームを使用して、GPU Jupyter Notebook VM をセットアップしました。サーバーは Debian ストレッチを実行します。
example
作成したバケットをというフォルダにマウントしたいと考えています/home/jupyter/transfer
。ここで概説されている手順に従っていますが、実行するgsfuse example /home/jupyter/transfer
とエラーが発生します。
私はインストールfuse
しました:
sudo apt-get install fuse
これは成功しましたが、gsfuse
コードはまだ実行されません。次に、pipパッケージを次のようにインストールしました:
pip install fuse-python
そして、それはまだうまくいきません。
何か案は?
google-cloud-platform - Terraform: GCP バケットを VM にマウントするための自動認証
Terraform を使用して VM を起動できます。GCP ウェブ UI からその VM にシェルを実行すると、次の方法で手動で認証できます。
その後、GCP バケットを VM に手動でマウントできます。
しかし、Terraform 起動スクリプトからこれを自動的に行うことはできません。もちろん、認証コマンドは本質的に非常に手動であり、ブラウザーにジャンプしてキーを取得するなどの作業が必要です。また、gcsfuse コマンドは認証なしでは明らかに失敗するため、それを起動スクリプトに入れても機能しません。予想どおり、権限エラーが発生します。
GCP にはさまざまなサービス アカウントとアプリケーション アカウントが既にあり、関連する json キー ファイルをダウンロードしましたが、バケットをマウントするために Terraform から新しい VM を自動認証する方法がわかりません。これは google_service_account と google_service_account_key に関係があると思われますが、まだ方法がわかりません。起動スクリプトを実行している VM のルート ユーザーがバケットをマウントできるように、json キー ファイルを Terraform 構成にシューホーンする方法がわかりません。
他の誰かが、これは fstab にも関係があるかもしれないと示唆しました。私はすでに起動スクリプトに以下を追加しました:
また、シェルから echo コマンドが機能したことがわかります (それに応じて fstab が変更されています) が、まだバケットをマウントできません。また、gcsfuse の代わりに mount を使用してマウントしようとしました。
しかし、それもうまくいきません。マウントしてもエラーは発生しませんが、マウントされたディレクトリは空のままです。ガッ!ここでの解決策は何ですか?
ありがとう。
gcloud - マウントされたすべての VM でバケットにアップロードされたファイルが表示されない
fstab を使用して 3 つの仮想マシンにマウントされている Google Cloud Storage バケットがあります。
gsutil コマンドを使用して別のマシンから Google バケットにファイルをアップロードすると、アップロードされたファイルは 2 つの VM ( Set A ) からのみアクセスできます。もう一方の vm ( Set B ) には、新しくアップロードされたファイルが表示されません。
マウントに使用するfstabエントリは次のとおりです。
セット Aの/etc/mtabファイルの内容は次のとおりです。
セット Bの/etc/mtabファイルの内容は次のとおりです。
csv - Google Cloud Storage CSV から読み取り、Google Data Store にロードする方法
Google Storage (CSV) ファイルから Cloud Data Store に読み込む方法を教えてください。
私はApp Engine経由でJavaコードを実行し、呼び出しで1行をロードできました。同じように、サンプル コードを取得して、一度にデータ ストアに一括読み込み (CSV から読み取る) したいと考えています。
google-cloud-storage - gsutil は、gcsfuse を高速化するために必要な疑似ディレクトリ エントリを作成できますか?
Google Cloud Storage はディレクトリ エントリを必要としないフラットなオブジェクト ストアですが、疑似ディレクトリ プレースホルダ(名前が で終わる空のエントリ/
)を追加すると、gcsfuse が大幅に高速になります。gcsfuse オプションを省略して、--implicit-dirs
非常に実行可能なパフォーマンスで GCS ディレクトリをブラウズできますが、これはプレースホルダーなしでは当てはまりません。
Q.ファイルのアップロード中にディレクトリ プレースホルダーを作成するようなコマンドをgsutilに発行する方法はありますか?gsutil cp -r your_directory gs://your-bucket/
別の方法として GCS API を呼び出すこともできますが、gsutil には、並列アップロードや再試行処理など、便利な機能がたくさんあります。
例
ローカル ツリーを作成します。
gsutil
それを GCS にコピーします。
gsutil
テキスト ファイルの 2 つのオブジェクト (BLOB) のみが作成されていることに注意してください。ディレクトリ プレースホルダー blobyour_directory/
またはyour_directory/subdir/
.
gcsfuse your-bucket your-bucket
マウントで:
gcsfuse --implicit-dirs your-bucket your-bucket
マウントで:
ゆっくり。
マウントに戻るとgcsfuse your-bucket your-bucket
、ディレクトリ プレースホルダーを作成することで、テキスト ファイルを表示させることができます。