Class ManagedStreamingIngestClient

  • All Implemented Interfaces:
    IngestClient, Closeable, AutoCloseable

    public class ManagedStreamingIngestClient
    extends Object
    implements IngestClient

    ManagedStreamingIngestClient

    This class combines a managed streaming client with a queued streaming client, to create an optimized experience. Since the streaming client communicates directly with the engine, it's more prone to failure, so this class holds both a streaming client and a queued client. It tries 3 times using the streaming client, after which it falls back to the queued streaming client in case of failure. If the size of the stream is bigger than 4194304, it will fall back to the queued streaming client.

    Note that ingestFromBlob behaves differently from the other methods - since a blob already exists it makes more sense to enqueue it rather than downloading and streaming it, thus ManagedStreamingIngestClient skips the streaming retries and sends it directly to the queued client.