2

私のアプリケーションはバイナリデータ(圧縮されたxml)を生成し、それをGoogle AppEngineBlobstoreに保存します。クライアントがAppEngineやJavaサーブレットを経由せずに、どこからでもこのバイナリファイルにアクセスするために使用できるパブリックURLを返したいです。ImagesService#getServingUrlを使用して画像のこの種のURLを取得できることは知っていますが、他の種類のファイルについてはどうでしょうか。

次のようにファイルを作成します。

FileService#createNewBlobFile("application/octet-stream", "myfile.bin");

AppEngineFile#getFullPath()を呼び出すと、次のようになります。

/blobstore/writable:a2c0noo4_LNQ0mS6wFdCMA

devファイルシステムで作成されたファイルを別のランダムな名前で表示できます。そのURLは何ですか?

4

2 に答える 2

4

ファイルにはGoogleCloudStorageを使用できます。

次に、ファイルにパブリッククラウドストレージのURLを指定して、クライアントがAppEngineを経由せずにファイルをダウンロードできるようにします。アクセスを厳しくするために使用できるさまざまなACLシナリオもたくさんありますが、それはドキュメントにあります。

FilesAPIでのGoogleCloudStorageの使用。

クラウドストレージドキュメント。

于 2012-04-07T02:18:55.767 に答える
2

ドキュメントによると、blobstore内のオブジェクトのパブリックURLはありません。アプリからBlobstoreAPIを介してのみアクセスできます。したがって、blobstoreオブジェクトにそれぞれURLを持たせたい場合は、そのための独自のハンドラーを作成する必要があります。もちろん、これはAppEngineとJavaサーブレットを通過する必要があります。

ImagesService#getServingUrlはblobstore内の画像のパブリックURLを生成しないと思います。そのURLは、実際にはブロブストアデータを直接指していません。これは、blobstoreにアクセスできる画像サービスを指し、独自の高性能インフラストラクチャを介して画像を提供します。

于 2012-04-07T00:27:02.613 に答える