GcsOutputChannel(Google Cloud Storage 0.6 API 用 App Engine クライアント)

com.google.appengine.tools.cloudstorage

インターフェース GcsOutputChannel

  • すべてのスーパーインターフェース:
    AutoCloseableChannelCloseableSerializableWritableByteChannel


    public interface GcsOutputChannel
    extends WritableByteChannel, Serializable
    Google Cloud Storage にデータを書き込むための書き込み可能なバイトチャネル。書き込み呼び出しでは、データを内部バッファに格納するか、同期 RPC 呼び出しを行ってデータを書き込みます。このクラスの実装により、内部でバッファするデータを増やし、リモート呼び出しを減らすことができます。close() を呼び出すと、バッファがフラッシュされ、書き込まれたすべてのデータが永続的に保存されます。この時点以降、ファイルは読み取ることはできますが、書き込めなくなります。close を呼び出さないと、ファイルは永続的に書き込まれず、自動的に Google Cloud Storage から消去されます。このクラスはシリアル化可能であるため、ファイルの一部を書き込んだり、GcsOutputChannel をシリアル化したり、シリアル化解除したり、同じファイルへの書き込みを続行したりできます。シリアル化されたインスタンスが有効な時間は、Google Cloud Storage サービスによって制限され、決定されます。これは、同じファイルに複数の GcsOutputChannel オブジェクトを作成する方法としては意図されていないことに注意してください。このオブジェクトをシリアル化してシリアル化を解除しても、元のインスタンスか、またはシリアル化解除されたインスタンスのいずれか一方のみを使い続けることができます。両方を同時に使用すると、動作が不定になります。
    • メソッドの詳細

      • getFilename

        GcsFilename getFilename()
        ファイル名を返します。
      • getBufferSizeBytes

        int getBufferSizeBytes()
        戻り値:
        このクラスによって内部で使用されているバッファのサイズ(データがバッファされていない場合は 0)
      • write

        int write(ByteBuffer src)
           throws IOException
        指定元:
        インターフェース WritableByteChannelwrite
        パラメータ:
        src - ファイルの末尾に書き込まれる必要があるバイトバッファ。このバッファのサイズは任意ですが、書き込みは、close() が呼び出されるまで永続的になることが保証されません。
        戻り値:
        消費されたバイト数。常に使用可能なバイト数と等しくなります。
        スロー:
        IOException - データの書き込み中にエラーが発生しました。IOException がスローされた場合、データのすべてまたは一部が書き込まれていない可能性があります。このため、ファイルの最初から書き込みを開始することをおすすめします。この問題は、このクラスの構築時に再試行ポリシーを指定することで回避できます。
        関連情報:
        WritableByteChannel.write(ByteBuffer)
      • waitForOutstandingWrites

        void waitForOutstandingWrites()
                               throws ClosedByInterruptException,
                                      IOException
        書き込み可能なすべてのデータが書き込まれるまでブロックします。GCS が非最終書き込みを固定サイズにする必要があるため、すべてのデータが書き込み可能にならない可能性があります。このメソッドは、シリアル化されたオブジェクトのサイズを最小限に抑えるため、シリアル化の前に呼び出すと最も便利です。
        スロー:
        ClosedByInterruptException
        IOException
      • close

        void close()
            throws IOException
        バッファをフラッシュし、すべてのデータを耐久性のあるストレージに書き込みます。close() が呼び出されたら、以後の #write(ByteBuffer) の呼び出しは失敗します。これは、ファイルを読み取る前に呼び出す必要があります。close が呼び出されないと、書き込まれたすべてのデータはしばらくしてから自動的に削除されます(これは、ファイルの書き込み中に回復不能なエラーが発生した場合に望ましい場合があります)。close を呼び出すと、このクラスのシリアル化されたインスタンスも無効になるので、後でファイルへの書き込みを再開する意図でこのオブジェクトをシリアル化する予定がある場合は呼び出さないでください。
        指定元:
        インターフェース closeAutoCloseable
        指定元:
        インターフェース closeChannel
        指定元:
        インターフェース closeCloseable
        スロー:
        IOException
        関連情報:
        Channel.close()

Copyright © 2016 Google. All rights reserved.

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Java の App Engine スタンダード環境