プログラムで生成されたデータを保存するためにBlobstoreを使用するGoogle App Engineアプリケーションを作成しました。これを行うには、私はFiles APIを使用しましたが、残念ながらGoogle Cloud Storageを推奨していません。だから私はヘルパークラスをGCSで作業するように書き直しています。BlobKeyからGoogle Cloud Storageファイルを取得
データストアにBlobKeysを保存してファイルへの参照を保持する(そして本番アプリケーションのモデルを変更することは常に苦しい)ため、できるだけ似たようにインターフェイスを維持したいと考えています。私はGCSに何かを保存すると、私は、所定のhereとして
BlobKey blobKey = blobstoreService.createGsBlobKey("/gs/" + fileName.getBucketName() + "/" + fileName.getObjectName());
でblobKeyにを取得し、私はデータストアでそれを持続します。
ドキュメントには、blobstoreService.serve(blobKey, resp);
というGCSファイルをサーブレットレスポンスで提供する方法が示されていますが、コード内でファイルコンテンツ(InputStream、バイト配列など)を取得するにはどうすればよいですかさらなる処理?私の現在の実装では、AppEngineFile
(どちらも非推奨)からのFileReadChannel
の読み込みでそれを行います。
ありがとう!私はBlobKeyを使用してコンテンツを取得することを望んでいましたが、それを行う方法がない場合は、オブジェクト名を含むように私のモデルをリファクタリングします –