GcsOutputChannel (cliente do App Engine para Google Cloud Storage 0.6 API)

com.google.appengine.tools.cloudstorage

Interface GcsOutputChannel

  • Todas as superinterfaces:
    AutoCloseable, Channel, Closeable, Serializable, WritableByteChannel


    public interface GcsOutputChannel
    extends WritableByteChannel, Serializable
    Um canal de bytes gravável para gravar dados no Google Cloud Storage. Escrever chamadas vai colocar os dados em um buffer interno ou fazer uma chamada RPC síncrona para gravar os dados. As implementações desta classe ainda podem armazenar dados em buffer internamente para reduzir chamadas remotas. A chamada de close() fará todos os buffers serem apagados e todos os dados gravados serem armazenados de maneira durável. Depois desse ponto, o arquivo poderá ser lido, mas não poderá mais ser gravado. A não chamada de close fará com que o arquivo deixe de ser gravado de maneira durável e desapareça automaticamente do Google Cloud Storage. Essa classe é serializável. Isso permite a gravação da parte de um arquivo, serializando o GcsOutputChannel e desserializando, além de continuar gravando no mesmo arquivo. O tempo pelo qual uma instância serializada permanece válida é limitado e determinado pelo serviço Google Cloud Storage. Isso não se destina a ser uma maneira de criar vários objetos GcsOutputChannel para o mesmo arquivo. Mesmo que esse objeto seja serializado e desserializado, somente a instância original ou a instância desserializada pode ser usada à frente. O uso de ambas em paralelo resultará em comportamento indefinido.
    • Detalhes do método

      • getFilename

        GcsFilename getFilename()
        Retorna o nome do arquivo.
      • getBufferSizeBytes

        int getBufferSizeBytes()
        Retorna:
        O tamanho do buffer usado internamente por essa classe. 0, caso os dados não tenham sido armazenados em buffer.
      • write

        int write(ByteBuffer src)
           throws IOException
        Especificado por:
        write na interface WritableByteChannel
        Parâmetros:
        src - Um buffer de bytes que precisa ser gravado ao final do arquivo. Esse buffer pode ser de qualquer tamanho, mas não há garantia de que as gravações sejam duráveis até close() ser chamado.
        Retorna:
        O número de bytes consumidos, que sempre será igual a bytes disponíveis.
        Gera:
        IOException - Ocorreu um erro durante a gravação dos dados. Caso uma IOException seja gerada, nenhum ou parte dos dados pode ter sido gravado. Por esse motivo, pode ser melhor começar gravando o arquivo desde o início. Isso pode ser evitado fornecendo uma política de repetição durante a criação dessa classe.
        Consulte também:
        WritableByteChannel.write(ByteBuffer)
      • waitForOutstandingWrites

        void waitForOutstandingWrites()
                               throws ClosedByInterruptException,
                                      IOException
        Bloqueia até que todos os dados graváveis tenham sido gravados. É possível que nem todos os dados possam ser gravados porque o GCS exige que as gravações não finais tenham tamanhos fixos. Esse método é mais útil para chamada antes da serialização, porque minimizará o tamanho do objeto serializado.
        Gera:
        ClosedByInterruptException
        IOException
      • close

        void close()
            throws IOException
        Apaga todos os buffers e grava todos os dados em um armazenamento durável. Depois que close() for chamado, outras chamadas para #write(ByteBuffer) falharão. Ele precisa ser chamado para que o arquivo possa ser lido. Se close não for chamado, todos os dados gravados serão excluídos automaticamente depois de algum tempo. Isso poderá ser desejável, se um erro irrecuperável tiver ocorrido durante a gravação do arquivo. A chamada de close também invalidará todas as instâncias serializadas dessa classe. Assim, ela NÃO precisará ser chamada se alguém estiver pretendendo serializar esse objeto com a intenção de retomar a gravação do arquivo mais tarde.
        Especificado por:
        close na interface AutoCloseable
        Especificado por:
        close na interface Channel
        Especificado por:
        close na interface Closeable
        Gera:
        IOException
        Consulte também:
        Channel.close()

Copyright © 2016 Google. Todos os direitos reservados.

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Ambiente padrão do App Engine para Java